From: Peter Penz Date: Mon, 21 Nov 2011 10:04:45 +0000 (+0100) Subject: Fix shortcut issue with panels X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/36b8989179a537ef7801e1f77d0ef7d35b470cf3 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: lueck@hube-lueck.de --- 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() :