Fix #984 without breaking topic input
[quassel.git] / src / qtui / legacysystemtray.h
index 47c5f11..1a187c8 100644 (file)
@@ -48,7 +48,8 @@ public:
 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:
 
@@ -58,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;
@@ -76,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 */