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=3bed80fafc3eb6d39e6a6fd995d4f1f504e24302;hp=2efbefda989fa4a3034b1a26934503696e62af51;hb=5ba28fb36a747bd9a2c05a58f0533d1e38c2a0de;hpb=52cfbc8ee8f4da6f28c6afef089f8179434e717d diff --git a/src/qtui/statusnotifieritem.h b/src/qtui/statusnotifieritem.h index 2efbefda..3bed80fa 100644 --- a/src/qtui/statusnotifieritem.h +++ b/src/qtui/statusnotifieritem.h @@ -26,6 +26,7 @@ #ifdef HAVE_DBUS +#include "notificationsclient.h" #include "systemtray.h" #include "statusnotifierwatcher.h" @@ -47,6 +48,8 @@ public: public slots: virtual void setState(State state); + virtual void showMessage(const QString &title, const QString &message, MessageIcon icon = Information, int msTimeout = 10000, uint notificationId = 0); + virtual void closeMessage(uint notificationId); protected: virtual void init(); @@ -63,6 +66,9 @@ private slots: void activated(const QPoint &pos); void serviceChange(const QString& name, const QString& oldOwner, const QString& newOwner); + void notificationClosed(uint id, uint reason); + void notificationInvoked(uint id, const QString &action); + private: void registerToDaemon(); @@ -70,7 +76,10 @@ private: StatusNotifierItemDBus *_statusNotifierItemDBus; org::kde::StatusNotifierWatcher *_statusNotifierWatcher; - //org::freedesktop::Notifications *_notificationsClient; + org::freedesktop::Notifications *_notificationsClient; + bool _notificationsClientSupportsMarkup; + quint32 _lastNotificationsDBusId; + QHash _notificationsIdMap; ///< Maps our own notification ID to the D-Bus one friend class StatusNotifierItemDBus; };