X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fstatusnotifieritem.h;fp=src%2Fqtui%2Fstatusnotifieritem.h;h=8b8eb96f885250696657ea9b99eb62f6ce6bf9da;hp=9a805be5b25ef70337c01a3d36777dd8e5098e5b;hb=39dffd095bb5dbca49199d2173438c7f90c4e6fa;hpb=f788ce32deb5df0351488c908fd5bacd25d7b6cf diff --git a/src/qtui/statusnotifieritem.h b/src/qtui/statusnotifieritem.h index 9a805be5..8b8eb96f 100644 --- a/src/qtui/statusnotifieritem.h +++ b/src/qtui/statusnotifieritem.h @@ -25,7 +25,9 @@ #ifdef HAVE_DBUS -#include +#include +#include +#include #if QT_VERSION >= 0x050000 # include @@ -50,21 +52,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 +73,21 @@ 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; StatusNotifierItemDBus *_statusNotifierItemDBus{nullptr}; - org::kde::StatusNotifierWatcher *_statusNotifierWatcher{nullptr}; org::freedesktop::Notifications *_notificationsClient{nullptr}; bool _notificationsClientSupportsMarkup{false};