1 // For license of this file, see <project-root-folder>/LICENSE.md. 2 3 #ifndef STATUSBAR_H 4 #define STATUSBAR_H 5 6 #include <QStatusBar> 7 8 #include "gui/toolbars/basetoolbar.h" 9 10 class ProgressBarWithText; 11 class QLabel; 12 class PlainToolButton; 13 14 class StatusBar : public QStatusBar, public BaseBar { 15 Q_OBJECT 16 17 public: 18 explicit StatusBar(QWidget* parent = nullptr); 19 virtual ~StatusBar(); 20 21 virtual QList<QAction*> availableActions() const; 22 virtual QList<QAction*> activatedActions() const; 23 virtual void saveAndSetActions(const QStringList& actions); 24 virtual QStringList defaultActions() const; 25 virtual QStringList savedActions() const; 26 virtual QList<QAction*> convertActions(const QStringList& actions); 27 virtual void loadSpecificActions(const QList<QAction*>& actions, bool initial_load = false); 28 29 public slots: 30 void showProgressFeeds(int progress, const QString& label); 31 void clearProgressFeeds(); 32 33 void showProgressDownload(int progress, const QString& tooltip); 34 void clearProgressDownload(); 35 36 protected: 37 bool eventFilter(QObject* watched, QEvent* event); 38 39 private: 40 void clear(); 41 42 ProgressBarWithText* m_barProgressFeeds; 43 QAction* m_barProgressFeedsAction; 44 ProgressBarWithText* m_barProgressDownload; 45 QAction* m_barProgressDownloadAction; 46 }; 47 48 #endif // STATUSBAR_H 49