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
KActionMenu* panelsMenu = new KActionMenu(i18nc("@action:inmenu View", "Panels"), this);
actionCollection()->addAction("panels", panelsMenu);
panelsMenu->setDelayed(false);
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"));
- panelsMenu->addAction(terminalAction);
+ panelsMenu->addAction(ac->action("show_terminal_panel"));
#endif
#ifdef HAVE_NEPOMUK
#endif
#ifdef HAVE_NEPOMUK
- panelsMenu->addAction(searchAction);
+ panelsMenu->addAction(ac->action("show_search_panel"));
#endif
panelsMenu->addSeparator();
panelsMenu->addAction(lockLayoutAction);
#endif
panelsMenu->addSeparator();
panelsMenu->addAction(lockLayoutAction);
const QString& actionName)
{
KAction* panelAction = actionCollection()->addAction(actionName);
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);
panelAction->setText(dockAction->text());
panelAction->setIcon(icon);
panelAction->setShortcut(shortcut);
- dockAction->setIcon(icon);
- dockAction->setShortcut(shortcut);
connect(panelAction, SIGNAL(triggered()), dockAction, SLOT(trigger()));
connect(panelAction, SIGNAL(triggered()), dockAction, SLOT(trigger()));
+ connect(dockAction, SIGNAL(toggled(bool)), panelAction, SLOT(setChecked(bool)));
}
DolphinMainWindow::UndoUiInterface::UndoUiInterface() :
}
DolphinMainWindow::UndoUiInterface::UndoUiInterface() :