X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fgraphicalui.cpp;h=6bccbc70d1bbe62732437229b3ced955da348222;hb=61c8d84d1c849373e0f115dc748ed45cff95287d;hp=c2422b3e5dcfa6d499369774a108ba1cd2f2806b;hpb=647215f1dd8ea6fdb6e4fb747c5dc3e19c4ec3fc;p=quassel.git diff --git a/src/uisupport/graphicalui.cpp b/src/uisupport/graphicalui.cpp index c2422b3e..6bccbc70 100644 --- a/src/uisupport/graphicalui.cpp +++ b/src/uisupport/graphicalui.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2010 by the Quassel Project * + * Copyright (C) 2005-2012 by the Quassel Project * * devel@quassel-irc.org * * * * This contains code from KStatusNotifierItem, part of the KDE libs * @@ -24,6 +24,7 @@ #include "graphicalui.h" #include "actioncollection.h" +#include "uisettings.h" #include "contextmenuactionprovider.h" #include "toolbaractionprovider.h" @@ -58,16 +59,38 @@ void GraphicalUi::init() { #endif } -ActionCollection *GraphicalUi::actionCollection(const QString &category) { +ActionCollection *GraphicalUi::actionCollection(const QString &category, const QString &translatedCategory) { if(_actionCollections.contains(category)) return _actionCollections.value(category); ActionCollection *coll = new ActionCollection(_mainWidget); + + if(!translatedCategory.isEmpty()) + coll->setProperty("Category", translatedCategory); + else + 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; } @@ -178,7 +201,7 @@ bool GraphicalUi::checkMainWidgetVisibility(bool perform) { } #else - if(!mainWidget()->isVisible() || mainWidget()->isMinimized()) { + if(!mainWidget()->isVisible() || mainWidget()->isMinimized() || !mainWidget()->isActiveWindow()) { if(perform) minimizeRestore(true); return true;