X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fabstractnotificationbackend.h;h=3685da217b49dd877a00a377823e52883e71802f;hp=cc9941b0f72f98827a86abab26dde4a0d213d7e5;hb=3ff1ec5b699a38e4a03deec4ea9576fade54cbbe;hpb=7d252c0e8aa2728d9a57130c7aae8923c5321542 diff --git a/src/uisupport/abstractnotificationbackend.h b/src/uisupport/abstractnotificationbackend.h index cc9941b0..3685da21 100644 --- a/src/uisupport/abstractnotificationbackend.h +++ b/src/uisupport/abstractnotificationbackend.h @@ -1,5 +1,5 @@ /*************************************************************************** -* Copyright (C) 2005-08 by the Quassel Project * +* Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,14 +32,22 @@ class AbstractNotificationBackend : public QObject { Q_OBJECT public: + enum NotificationType { + Highlight = 0x01, + PrivMsg = 0x02, + HighlightFocused = 0x11, + PrivMsgFocused = 0x12 + }; + struct Notification { uint notificationId; BufferId bufferId; + NotificationType type; QString sender; QString message; - Notification(uint id_, BufferId buf_, const QString &sender_, const QString &msg_) - : notificationId(id_), bufferId(buf_), sender(sender_), message(msg_) {}; + Notification(uint id_, BufferId buf_, NotificationType type_, const QString &sender_, const QString &msg_) + : notificationId(id_), bufferId(buf_), type(type_), sender(sender_), message(msg_) {}; }; inline AbstractNotificationBackend(QObject *parent) : QObject(parent) {}; @@ -48,12 +56,17 @@ public: 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 + //! 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 + * AbstractNotification will not take ownership of that configWidget! + * In case you need to communicate with the configWidget directly, make your connections here */ virtual SettingsPage *createConfigWidget() const = 0; + +signals: + //! May be emitted by the notification to tell the MainWin to raise itself + void activated(uint notificationId = 0); + }; #endif