Clean-up and refactor the blowfish encryption stuff
[quassel.git] / src / qtui / legacysystemtray.h
index e84a917..1a187c8 100644 (file)
@@ -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 */