-uint QtUi::invokeNotification(BufferId bufId, const QString &sender, const QString &text) {
- static int notificationId = 0;
- //notificationId++;
- AbstractNotificationBackend::Notification notification(++notificationId, bufId, sender, text);
- _notifications.append(notification);
- foreach(AbstractNotificationBackend *backend, _notificationBackends)
+
+void QtUi::registerNotificationBackend(AbstractNotificationBackend *backend)
+{
+ if (!_notificationBackends.contains(backend)) {
+ _notificationBackends.append(backend);
+ instance()->connect(backend, SIGNAL(activated(uint)), SLOT(notificationActivated(uint)));
+ }
+}
+
+
+void QtUi::unregisterNotificationBackend(AbstractNotificationBackend *backend)
+{
+ _notificationBackends.removeAll(backend);
+}
+
+
+void QtUi::unregisterAllNotificationBackends()
+{
+ _notificationBackends.clear();
+}
+
+
+const QList<AbstractNotificationBackend *> &QtUi::notificationBackends()
+{
+ return _notificationBackends;
+}
+
+
+uint QtUi::invokeNotification(BufferId bufId, AbstractNotificationBackend::NotificationType type, const QString &sender, const QString &text)
+{
+ static int notificationId = 0;
+
+ AbstractNotificationBackend::Notification notification(++notificationId, bufId, type, sender, text);
+ _notifications.append(notification);
+ foreach(AbstractNotificationBackend *backend, _notificationBackends)