X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsystemtray.h;h=a83d356ff78794cbc7f1fa659bb734e931777135;hp=df79ddf5f4e3cbb5f061c9c3dbc649277971e12d;hb=1b9dc90e54c1c7c2012decfb87cce80dbae60be9;hpb=4476cfb22f36ad9ba96e4978c3bcce1c2f6b5a04 diff --git a/src/qtui/systemtray.h b/src/qtui/systemtray.h index df79ddf5..a83d356f 100644 --- a/src/qtui/systemtray.h +++ b/src/qtui/systemtray.h @@ -64,6 +64,7 @@ public: virtual ~SystemTray(); virtual void init(); + inline Mode mode() const; inline State state() const; inline bool isAlerted() const; virtual inline bool isSystemTrayAvailable() const; @@ -77,20 +78,23 @@ public slots: virtual void setState(State); 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); + virtual void showMessage(const QString &title, const QString &message, MessageIcon icon = Information, int msTimeout = 10000, uint notificationId = 0); + virtual void closeMessage(uint notificationId) { Q_UNUSED(notificationId) } signals: void activated(SystemTray::ActivationReason); void iconChanged(const Icon &); + void animationEnabledChanged(bool); void toolTipChanged(const QString &title, const QString &subtitle); - void messageClicked(); + void messageClicked(uint notificationId); + void messageClosed(uint notificationId); protected slots: virtual void activate(SystemTray::ActivationReason = Trigger); protected: virtual void setMode(Mode mode); - inline Mode mode() const; + inline bool shouldBeVisible() const; virtual Icon stateIcon() const; Icon stateIcon(State state) const; @@ -98,16 +102,21 @@ protected: inline QString toolTipSubTitle() const; inline QMenu *trayMenu() const; + inline bool animationEnabled() const; + private slots: void minimizeRestore(); void trayMenuAboutToShow(); + void enableAnimationChanged(const QVariant &); private: Mode _mode; State _state; + bool _shouldBeVisible; QString _toolTipTitle, _toolTipSubTitle; Icon _passiveIcon, _activeIcon, _needsAttentionIcon; + bool _animationEnabled; QMenu *_trayMenu; QWidget *_associatedWidget; @@ -120,9 +129,10 @@ bool SystemTray::isSystemTrayAvailable() const { return false; } bool SystemTray::isAlerted() const { return state() == NeedsAttention; } SystemTray::Mode SystemTray::mode() const { return _mode; } SystemTray::State SystemTray::state() const { return _state; } +bool SystemTray::shouldBeVisible() const { return _shouldBeVisible; } QMenu *SystemTray::trayMenu() const { return _trayMenu; } QString SystemTray::toolTipTitle() const { return _toolTipTitle; } QString SystemTray::toolTipSubTitle() const { return _toolTipSubTitle; } - +bool SystemTray::animationEnabled() const { return _animationEnabled; } #endif