diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-06-15 13:56:34 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-15 13:56:34 -0400 |
| commit | 14c9da193919b367cae48659fc0102b16cdc71a7 (patch) | |
| tree | e9e1121c92d8bcaad6a9f17451e0532bf52792d4 /src/statusbar.h | |
| parent | 52aa6ff68105b9cae6842578fca417187dc43196 (diff) | |
| parent | eed0f1503d2b2bf03d1ad823c72f7d279a1b41f6 (diff) | |
Merge pull request #762 from isanae/statusbar
Diffstat (limited to 'src/statusbar.h')
| -rw-r--r-- | src/statusbar.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/statusbar.h b/src/statusbar.h new file mode 100644 index 00000000..2baf12ee --- /dev/null +++ b/src/statusbar.h @@ -0,0 +1,51 @@ +#ifndef MO_STATUSBAR_H +#define MO_STATUSBAR_H + +#include <QStatusBar> +#include <QProgressBar> + +struct APIStats; +class APIUserAccount; +class Settings; +namespace Ui { class MainWindow; } + + +class StatusBarAction : public QWidget +{ +public: + StatusBarAction(QAction* action); + + void set(bool visible); + +protected: + void mouseDoubleClickEvent(QMouseEvent* e) override; + +private: + QAction* m_action; + QLabel* m_icon; + QLabel* m_text; + + QString cleanupActionText(const QString& s) const; +}; + + +class StatusBar +{ +public: + StatusBar(QStatusBar* bar, Ui::MainWindow* ui); + + void setProgress(int percent); + void setNotifications(bool hasNotifications); + void setAPI(const APIStats& stats, const APIUserAccount& user); + void setUpdateAvailable(bool b); + void checkSettings(const Settings& settings); + +private: + QStatusBar* m_bar; + QProgressBar* m_progress; + StatusBarAction* m_notifications; + StatusBarAction* m_update; + QLabel* m_api; +}; + +#endif // MO_STATUSBAR_H |
