qa: Remove lots of superfluous semicolons
[quassel.git] / src / qtui / statusnotifieritem.h
index 9a805be..5a103b6 100644 (file)
 
 #ifdef HAVE_DBUS
 
-#include <QtGlobal>
-
-#if QT_VERSION >= 0x050000
-#  include <QTemporaryDir>
-#endif
+#include <QDBusError>
+#include <QHash>
+#include <QString>
+#include <QTemporaryDir>
 
 #include "notificationsclient.h"
 #include "systemtray.h"
@@ -42,6 +41,8 @@
 #  include "legacysystemtray.h"
 #endif
 
+class QDBusServiceWatcher;
+
 class StatusNotifierItemDBus;
 
 class StatusNotifierItem : public StatusNotifierItemParent
@@ -50,21 +51,14 @@ class StatusNotifierItem : public StatusNotifierItemParent
 
 public:
     explicit StatusNotifierItem(QWidget *parent);
-    ~StatusNotifierItem() override;
 
     bool isSystemTrayAvailable() const override;
-    bool isVisible() const override;
 
 public slots:
-    void setState(State state) override;
-    void setVisible(bool visible) override;
     void showMessage(const QString &title, const QString &message, MessageIcon icon = Information, int msTimeout = 10000, uint notificationId = 0) override;
     void closeMessage(uint notificationId) override;
 
 protected:
-    void init() override;
-    void setMode(Mode mode) override;
-
     QString title() const;
     QString iconName() const;
     QString attentionIconName() const;
@@ -78,19 +72,22 @@ private slots:
     void activated(const QPoint &pos);
     void serviceChange(const QString &name, const QString &oldOwner, const QString &newOwner);
     void checkForRegisteredHosts();
+    void onDBusError(const QDBusError &error);
 
     void notificationClosed(uint id, uint reason);
     void notificationInvoked(uint id, const QString &action);
 
     void refreshIcons();
 
+    void onModeChanged(Mode mode);
+    void onStateChanged(State state);
+    void onVisibilityChanged(bool isVisible);
+
 private:
-    void registerToDaemon();
+    void registerToWatcher();
 
-    static const int _protocolVersion;
-    static const QString _statusNotifierWatcherServiceName;
+    QDBusServiceWatcher *_serviceWatcher{nullptr};
     StatusNotifierItemDBus *_statusNotifierItemDBus{nullptr};
-
     org::kde::StatusNotifierWatcher *_statusNotifierWatcher{nullptr};
     org::freedesktop::Notifications *_notificationsClient{nullptr};
     bool _notificationsClientSupportsMarkup{false};
@@ -101,9 +98,7 @@ private:
     QString _iconThemePath;
     QString _menuObjectPath;
 
-#if QT_VERSION >= 0x050000
     QTemporaryDir _iconThemeDir;
-#endif
 
     friend class StatusNotifierItemDBus;
 };