Make ActionCollection load and save custom shortcuts
[quassel.git] / src / uisupport / graphicalui.cpp
index c2422b3..59ea321 100644 (file)
@@ -24,6 +24,7 @@
 #include "graphicalui.h"
 
 #include "actioncollection.h"
+#include "uisettings.h"
 #include "contextmenuactionprovider.h"
 #include "toolbaractionprovider.h"
 
@@ -62,12 +63,29 @@ ActionCollection *GraphicalUi::actionCollection(const QString &category) {
   if(_actionCollections.contains(category))
     return _actionCollections.value(category);
   ActionCollection *coll = new ActionCollection(_mainWidget);
+  coll->setProperty("Category", category);
   if(_mainWidget)
     coll->addAssociatedWidget(_mainWidget);
   _actionCollections.insert(category, coll);
   return coll;
 }
 
+QHash<QString, ActionCollection *> GraphicalUi::actionCollections() {
+  return _actionCollections;
+}
+
+void GraphicalUi::loadShortcuts() {
+  foreach(ActionCollection *coll, actionCollections())
+    coll->readSettings();
+}
+
+void GraphicalUi::saveShortcuts() {
+  ShortcutSettings s;
+  s.clear();
+  foreach(ActionCollection *coll, actionCollections())
+    coll->writeSettings();
+}
+
 void GraphicalUi::setMainWidget(QWidget *widget) {
   _mainWidget = widget;
 }