+ backend->notify(notification);
+ return notificationId;
+}
+
+void QtUi::closeNotification(uint notificationId) {
+ QList<AbstractNotificationBackend::Notification>::iterator i = _notifications.begin();
+ while(i != _notifications.end()) {
+ if((*i).notificationId == notificationId) {
+ foreach(AbstractNotificationBackend *backend, _notificationBackends)
+ backend->close(notificationId);
+ i = _notifications.erase(i);
+ break;
+ } else {
+ ++i;
+ }
+ }
+}
+
+void QtUi::closeNotifications(BufferId bufferId) {
+ QList<AbstractNotificationBackend::Notification>::iterator i = _notifications.begin();
+ while(i != _notifications.end()) {
+ if(!bufferId.isValid() || (*i).bufferId == bufferId) {
+ foreach(AbstractNotificationBackend *backend, _notificationBackends)
+ backend->close((*i).notificationId);
+ i = _notifications.erase(i);
+ } else {
+ ++i;
+ }
+ }
+}
+
+const QList<AbstractNotificationBackend::Notification> &QtUi::activeNotifications() {
+ return _notifications;
+}
+
+void QtUi::notificationActivated() {
+ // this might not work with some window managers
+ _mainWin->raise();
+ _mainWin->activateWindow();