cleaning up the general settings page
[quassel.git] / src / qtui / qtui.h
index db06409..4baded8 100644 (file)
@@ -48,19 +48,20 @@ public:
   inline static QtUiStyle *style();
   inline static MainWin *mainWindow();
 
-  //! Access the global ActionCollection.
-  /** This ActionCollection is associated with the main window, i.e. it contains global
+  //! Access global ActionCollections.
+  /** These ActionCollections are associated with the main window, i.e. they contain global
    *  actions (and thus, shortcuts). Widgets providing application-wide shortcuts should
-   *  create appropriate Action objects using QtUi::actionCollection()->add\<Action\>().
+   *  create appropriate Action objects using QtUi::actionCollection(cat)->add\<Action\>().
+   *  @param category The category (default: "General")
    */
-  inline static ActionCollection *actionCollection();
+  static ActionCollection *actionCollection(const QString &category = "General");
 
   /* Notifications */
 
   static void registerNotificationBackend(AbstractNotificationBackend *);
   static void unregisterNotificationBackend(AbstractNotificationBackend *);
   static void unregisterAllNotificationBackends();
-  static const QSet<AbstractNotificationBackend *> &notificationBackends();
+  static const QList<AbstractNotificationBackend *> &notificationBackends();
   static uint invokeNotification(BufferId bufId, const QString &sender, const QString &text);
   static void closeNotification(uint notificationId);
   static void closeNotifications(BufferId bufferId = BufferId());
@@ -75,13 +76,12 @@ protected slots:
 
 private:
   static MainWin *_mainWin;
-  static ActionCollection *_actionCollection;
+  static QHash<QString, ActionCollection *> _actionCollections;
   static QtUiStyle *_style;
-  static QSet<AbstractNotificationBackend *> _notificationBackends;
+  static QList<AbstractNotificationBackend *> _notificationBackends;
   static QList<AbstractNotificationBackend::Notification> _notifications;
 };
 
-ActionCollection *QtUi::actionCollection() { return _actionCollection; }
 QtUiStyle *QtUi::style() { return _style; }
 MainWin *QtUi::mainWindow() { return _mainWin; }