X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fdesktopnotificationbackend.h;h=4427afe950a13691141d37d1634a15d1347bba8d;hp=0c06b70d641087845f939ccb7900a5a494cd3d35;hb=0c498574d2f26bae581bc8f9a01e739e1f9c3872;hpb=ed2415135359b4f8a3f75f2634e028500c08c1fe diff --git a/src/qtui/desktopnotificationbackend.h b/src/qtui/desktopnotificationbackend.h index 0c06b70d..4427afe9 100644 --- a/src/qtui/desktopnotificationbackend.h +++ b/src/qtui/desktopnotificationbackend.h @@ -21,11 +21,14 @@ #ifndef DESKTOPNOTIFICATIONBACKEND_H_ #define DESKTOPNOTIFICATIONBACKEND_H_ +#include + #include "abstractnotificationbackend.h" #include "settingspage.h" #include "desktopnotificationinterface.h" +#include "ui_desktopnotificationconfigwidget.h" //! Implements the freedesktop.org notifications specification (via D-Bus) /** @@ -49,15 +52,49 @@ private slots: void desktopNotificationInvoked(uint id, const QString &action); void enabledChanged(const QVariant &); + void useHintsChanged(const QVariant &); void xHintChanged(const QVariant &); void yHintChanged(const QVariant &); + void queueNotificationsChanged(const QVariant &); + void timeoutChanged(const QVariant &); + void useTimeoutChanged(const QVariant &); private: + class ConfigWidget; + SettingsPage *_configWidget; + org::freedesktop::Notifications *_dbusInterface; - quint32 _dbusNotificationId; + bool _daemonSupportsMarkup; + quint32 _lastDbusId; + QHash _idMap; ///< Maps our own notification Id to the D-Bus one - bool _enabled; + bool _enabled, _queueNotifications, _useHints; int _xHint, _yHint; + int _timeout; + bool _useTimeout; + +}; + +class DesktopNotificationBackend::ConfigWidget : public SettingsPage { + Q_OBJECT + + public: + ConfigWidget(QWidget *parent = 0); + void save(); + void load(); + bool hasDefaults() const; + void defaults(); + + private slots: + void widgetChanged(); + + private: + Ui::DesktopNotificationConfigWidget ui; + int xHint, yHint; + bool useHints, queueNotifications; + int timeout; + bool useTimeout; + bool enabled; }; #endif