X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fuisupport%2Fgraphicalui.cpp;h=59ea3210d7cd09e9f5d21b260a3245394977a7b9;hb=44833145103bc0802f2e6fcc9edecaa2fdafc9d9;hp=8e5fe9432df1c0bdceff37522abb98f36461494e;hpb=4476cfb22f36ad9ba96e4978c3bcce1c2f6b5a04;p=quassel.git diff --git a/src/uisupport/graphicalui.cpp b/src/uisupport/graphicalui.cpp index 8e5fe943..59ea3210 100644 --- a/src/uisupport/graphicalui.cpp +++ b/src/uisupport/graphicalui.cpp @@ -24,7 +24,9 @@ #include "graphicalui.h" #include "actioncollection.h" +#include "uisettings.h" #include "contextmenuactionprovider.h" +#include "toolbaractionprovider.h" #ifdef Q_WS_X11 # include @@ -61,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 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; } @@ -83,6 +102,12 @@ void GraphicalUi::setUiStyle(UiStyle *style) { _uiStyle = style; } +void GraphicalUi::disconnectedFromCore() { + _contextMenuActionProvider->disconnectedFromCore(); + _toolBarActionProvider->disconnectedFromCore(); + AbstractUi::disconnectedFromCore(); +} + bool GraphicalUi::eventFilter(QObject *obj, QEvent *event) { #ifdef Q_WS_WIN if(obj == mainWidget() && event->type() == QEvent::ActivationChange) {