┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-11-21 11:04:45 +0100
committerPeter Penz <[email protected]>2011-11-21 11:08:26 +0100
commit36b8989179a537ef7801e1f77d0ef7d35b470cf3 (patch)
tree83b557c76f06f262e28270e55c12929a8511b1ce
parent7f139702eefce8dbbba5475650544267971fb444 (diff)
Fix shortcut issue with panels
The KAction instance of the panels is added to the menu instance now instead of the QDock-actions. It is assured that the state between the actions gets synchronized. Now it's possible for the user to apply custom shortcuts and the shortcuts are also shown in the menu as expected. CCMAIL: [email protected]
-rw-r--r--src/dolphinmainwindow.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 74d967458..3fbeb781d 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -1872,14 +1872,15 @@ void DolphinMainWindow::setupDockWidgets()
KActionMenu* panelsMenu = new KActionMenu(i18nc("@action:inmenu View", "Panels"), this);
actionCollection()->addAction("panels", panelsMenu);
panelsMenu->setDelayed(false);
- panelsMenu->addAction(placesAction);
- panelsMenu->addAction(infoAction);
- panelsMenu->addAction(foldersAction);
+ const KActionCollection* ac = actionCollection();
+ panelsMenu->addAction(ac->action("show_places_panel"));
+ panelsMenu->addAction(ac->action("show_information_panel"));
+ panelsMenu->addAction(ac->action("show_folders_panel"));
#ifndef Q_OS_WIN
- panelsMenu->addAction(terminalAction);
+ panelsMenu->addAction(ac->action("show_terminal_panel"));
#endif
#ifdef HAVE_NEPOMUK
- panelsMenu->addAction(searchAction);
+ panelsMenu->addAction(ac->action("show_search_panel"));
#endif
panelsMenu->addSeparator();
panelsMenu->addAction(lockLayoutAction);
@@ -2209,13 +2210,14 @@ void DolphinMainWindow::createPanelAction(const KIcon& icon,
const QString& actionName)
{
KAction* panelAction = actionCollection()->addAction(actionName);
+ panelAction->setCheckable(true);
+ panelAction->setChecked(dockAction->isChecked());
panelAction->setText(dockAction->text());
panelAction->setIcon(icon);
panelAction->setShortcut(shortcut);
- dockAction->setIcon(icon);
- dockAction->setShortcut(shortcut);
connect(panelAction, SIGNAL(triggered()), dockAction, SLOT(trigger()));
+ connect(dockAction, SIGNAL(toggled(bool)), panelAction, SLOT(setChecked(bool)));
}
DolphinMainWindow::UndoUiInterface::UndoUiInterface() :