X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Flegacysystemtray.h;h=1a187c8e778740d3f33d2be3b2550fae4ebbcb04;hp=e84a91714178f4509eede74816b6949a137bcca1;hb=6f0a153a674317d77233139fc50a2985af86e36e;hpb=e7d1bc1fa02e1233f140e4b04d99ab8f4685bce5 diff --git a/src/qtui/legacysystemtray.h b/src/qtui/legacysystemtray.h index e84a9171..1a187c8e 100644 --- a/src/qtui/legacysystemtray.h +++ b/src/qtui/legacysystemtray.h @@ -37,17 +37,21 @@ class LegacySystemTray : public SystemTray { Q_OBJECT public: - LegacySystemTray(QObject *parent = 0); + explicit LegacySystemTray(QWidget *parent); virtual ~LegacySystemTray() {} virtual void init(); + virtual bool isVisible() const; virtual inline bool isSystemTrayAvailable() const; virtual Icon stateIcon() const; // overriden to care about blinkState public slots: virtual void setState(State state); virtual void setVisible(bool visible = true); - 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); + +protected slots: protected: virtual void setMode(Mode mode); @@ -55,13 +59,14 @@ protected: private slots: void on_blinkTimeout(); void on_activated(QSystemTrayIcon::ActivationReason); + void on_messageClicked(); -private: void syncLegacyIcon(); +private: QTimer _blinkTimer; bool _blinkState; - bool _isVisible; + uint _lastMessageId; #ifdef HAVE_KDE KSystemTrayIcon *_trayIcon; @@ -73,7 +78,10 @@ private: // inlines -bool LegacySystemTray::isSystemTrayAvailable() const { return QSystemTrayIcon::isSystemTrayAvailable(); } +bool LegacySystemTray::isSystemTrayAvailable() const { + return mode() == Legacy ? QSystemTrayIcon::isSystemTrayAvailable() + : SystemTray::isSystemTrayAvailable(); +} #endif /* QT_NO_SYSTEMTRAYICON */