+ MessageModel *createMessageModel(QObject *parent);
+ AbstractMessageProcessor *createMessageProcessor(QObject *parent);
+
+ inline static QtUi *instance();
+ inline static QtUiStyle *style();
+ inline static MainWin *mainWindow();
+
+ static bool haveSystemTray();
+
+ /* Notifications */
+
+ static void registerNotificationBackend(AbstractNotificationBackend *);
+ static void unregisterNotificationBackend(AbstractNotificationBackend *);
+ static void unregisterAllNotificationBackends();
+ static const QList<AbstractNotificationBackend *> ¬ificationBackends();
+ static const QList<AbstractNotificationBackend::Notification> &activeNotifications();
+
+public slots:
+ virtual void init();
+
+ uint invokeNotification(BufferId bufId, AbstractNotificationBackend::NotificationType type, const QString &sender, const QString &text);
+ void closeNotification(uint notificationId);
+ void closeNotifications(BufferId bufferId = BufferId());
+
+protected slots: