X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fabstractnotificationbackend.h;h=cc9941b0f72f98827a86abab26dde4a0d213d7e5;hb=9cad7696cf0ef2f58c231c7b1eaaae0c16d0273d;hp=c7112afa7fba5019eb6df567ef86f1ba6e20b8d3;hpb=5c78a50fa720e5f82fcaa03c0176feab71d74c8e;p=quassel.git diff --git a/src/uisupport/abstractnotificationbackend.h b/src/uisupport/abstractnotificationbackend.h index c7112afa..cc9941b0 100644 --- a/src/uisupport/abstractnotificationbackend.h +++ b/src/uisupport/abstractnotificationbackend.h @@ -31,24 +31,29 @@ class SettingsPage; class AbstractNotificationBackend : public QObject { Q_OBJECT - public: - struct Notification { - uint notificationId; - BufferId bufferId; - QString sender; - QString message; - - Notification(uint id_, BufferId buf_, const QString &sender_, const QString &msg_) +public: + struct Notification { + uint notificationId; + BufferId bufferId; + QString sender; + QString message; + + Notification(uint id_, BufferId buf_, const QString &sender_, const QString &msg_) : notificationId(id_), bufferId(buf_), sender(sender_), message(msg_) {}; - }; + }; - inline AbstractNotificationBackend(QObject *parent) : QObject(parent) {}; - virtual ~AbstractNotificationBackend() {}; + inline AbstractNotificationBackend(QObject *parent) : QObject(parent) {}; + virtual ~AbstractNotificationBackend() {}; - virtual void notify(const Notification &) = 0; - virtual void close(uint notificationId) { Q_UNUSED(notificationId); } - virtual SettingsPage *configWidget() const = 0; + virtual void notify(const Notification &) = 0; + virtual void close(uint notificationId) { Q_UNUSED(notificationId); } + //! factory to create a configuration widget suitable for a specific notification backend + /** + * AbstractNotification will not take owner ship of that configWidget! + * in case you need to communicate with the configWidget directly, make your connections here + */ + virtual SettingsPage *createConfigWidget() const = 0; }; #endif