X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsystemtray.h;h=df79ddf5f4e3cbb5f061c9c3dbc649277971e12d;hb=442f91e70e3b4422948758e696b5e3c4b323bdc1;hp=d610c48ea05c67036d133106af7aeb11da71463a;hpb=d452877910888c25d40590b5fff57eb8197ca9b0;p=quassel.git diff --git a/src/qtui/systemtray.h b/src/qtui/systemtray.h index d610c48e..df79ddf5 100644 --- a/src/qtui/systemtray.h +++ b/src/qtui/systemtray.h @@ -23,10 +23,7 @@ #include "icon.h" -#ifdef Q_WS_WIN -# include -#endif - +class Action; class QMenu; class SystemTray : public QObject { @@ -65,16 +62,14 @@ public: explicit SystemTray(QWidget *parent); virtual ~SystemTray(); - virtual void init() {} + virtual void init(); inline State state() const; inline bool isAlerted() const; virtual inline bool isSystemTrayAvailable() const; void setAlert(bool alerted); - inline void setInhibitActivation(); - inline virtual bool isVisible() const { return false; } - inline bool isActivationInhibited() const; + virtual inline bool isVisible() const { return false; } QWidget *associatedWidget() const; @@ -83,8 +78,6 @@ public slots: virtual void setVisible(bool visible = true); virtual void setToolTip(const QString &title, const QString &subtitle); virtual void showMessage(const QString &title, const QString &message, MessageIcon icon = Information, int millisecondsTimeoutHint = 10000); - void toggleMainWidget(); - void hideMainWidget(); signals: void activated(SystemTray::ActivationReason); @@ -95,8 +88,6 @@ signals: protected slots: virtual void activate(SystemTray::ActivationReason = Trigger); - void minimizeRestore(bool restore); - protected: virtual void setMode(Mode mode); inline Mode mode() const; @@ -106,38 +97,27 @@ protected: inline QString toolTipTitle() const; inline QString toolTipSubTitle() const; inline QMenu *trayMenu() const; - void setTrayMenu(QMenu *); - - virtual bool eventFilter(QObject *obj, QEvent *event); private slots: + void minimizeRestore(); + void trayMenuAboutToShow(); private: - bool checkVisibility(bool performToggle = true); - Mode _mode; State _state; - bool _inhibitActivation; - QString _toolTipTitle, _toolTipSubTitle; Icon _passiveIcon, _activeIcon, _needsAttentionIcon; QMenu *_trayMenu; QWidget *_associatedWidget; - -#ifdef Q_WS_WIN - DWORD _dwTickCount; -#endif - + Action *_minimizeRestoreAction; }; // inlines bool SystemTray::isSystemTrayAvailable() const { return false; } bool SystemTray::isAlerted() const { return state() == NeedsAttention; } -void SystemTray::setInhibitActivation() { _inhibitActivation = true; } -bool SystemTray::isActivationInhibited() const { return _inhibitActivation; } SystemTray::Mode SystemTray::mode() const { return _mode; } SystemTray::State SystemTray::state() const { return _state; } QMenu *SystemTray::trayMenu() const { return _trayMenu; }