+ added = addActionToMenu(ac->action("view_mode"), menu) |
+ addActionToMenu(ac->action("sort"), menu) |
+ addActionToMenu(ac->action("additional_info"), menu) |
+ addActionToMenu(ac->action("show_preview"), menu) |
+ addActionToMenu(ac->action("show_in_groups"), menu) |
+ addActionToMenu(ac->action("show_hidden_files"), menu);
+
+ if (added) {
+ menu->addSeparator();
+ }
+
+ added = addActionToMenu(ac->action("split_view"), menu) |
+ addActionToMenu(ac->action("reload"), menu) |
+ addActionToMenu(ac->action("view_properties"), menu);
+ if (added) {
+ menu->addSeparator();
+ }
+
+ addActionToMenu(ac->action("panels"), menu);
+ KMenu* locationBarMenu = new KMenu(i18nc("@action:inmenu", "Location Bar"), menu);
+ locationBarMenu->addAction(ac->action("editable_location"));
+ locationBarMenu->addAction(ac->action("replace_location"));
+ menu->addMenu(locationBarMenu);
+
+ menu->addSeparator();
+
+ // Add "Go" menu
+ KMenu* goMenu = new KMenu(i18nc("@action:inmenu", "Go"), menu);
+ connect(menu, &KMenu::aboutToHide, goMenu, &KMenu::deleteLater);
+ goMenu->addAction(ac->action(KStandardAction::name(KStandardAction::Back)));
+ goMenu->addAction(ac->action(KStandardAction::name(KStandardAction::Forward)));
+ goMenu->addAction(ac->action(KStandardAction::name(KStandardAction::Up)));
+ goMenu->addAction(ac->action(KStandardAction::name(KStandardAction::Home)));
+ goMenu->addAction(ac->action("closed_tabs"));
+ menu->addMenu(goMenu);
+
+ // Add "Tool" menu
+ KMenu* toolsMenu = new KMenu(i18nc("@action:inmenu", "Tools"), menu);
+ connect(menu, &KMenu::aboutToHide, toolsMenu, &KMenu::deleteLater);
+ toolsMenu->addAction(ac->action("show_filter_bar"));
+ toolsMenu->addAction(ac->action("compare_files"));
+ toolsMenu->addAction(ac->action("open_terminal"));
+ toolsMenu->addAction(ac->action("change_remote_encoding"));
+ menu->addMenu(toolsMenu);
+
+ // Add "Settings" menu entries
+ addActionToMenu(ac->action(KStandardAction::name(KStandardAction::KeyBindings)), menu);
+ addActionToMenu(ac->action(KStandardAction::name(KStandardAction::ConfigureToolbars)), menu);
+ addActionToMenu(ac->action(KStandardAction::name(KStandardAction::Preferences)), menu);
+
+ // Add "Help" menu
+ KMenu* helpMenu = new KMenu(i18nc("@action:inmenu", "Help"), menu);
+ connect(menu, &KMenu::aboutToHide, helpMenu, &KMenu::deleteLater);
+ helpMenu->addAction(ac->action(KStandardAction::name(KStandardAction::HelpContents)));
+ helpMenu->addAction(ac->action(KStandardAction::name(KStandardAction::WhatsThis)));
+ helpMenu->addSeparator();
+ helpMenu->addAction(ac->action(KStandardAction::name(KStandardAction::ReportBug)));
+ helpMenu->addSeparator();
+ helpMenu->addAction(ac->action(KStandardAction::name(KStandardAction::SwitchApplicationLanguage)));
+ helpMenu->addSeparator();
+ helpMenu->addAction(ac->action(KStandardAction::name(KStandardAction::AboutApp)));
+ helpMenu->addAction(ac->action(KStandardAction::name(KStandardAction::AboutKDE)));
+ menu->addMenu(helpMenu);
+
+ menu->addSeparator();
+ addActionToMenu(ac->action(KStandardAction::name(KStandardAction::ShowMenubar)), menu);
+}
+
+void DolphinMainWindow::updateToolBar()
+{
+ if (!menuBar()->isVisible()) {
+ createControlButton();
+ }
+}
+
+void DolphinMainWindow::slotControlButtonDeleted()
+{
+ m_controlButton = 0;
+ m_updateToolBarTimer->start();
+}
+
+void DolphinMainWindow::slotPanelErrorMessage(const QString& error)
+{
+ activeViewContainer()->showMessage(error, DolphinViewContainer::Error);
+}
+
+void DolphinMainWindow::slotPlaceActivated(const KUrl& url)
+{
+ DolphinViewContainer* view = activeViewContainer();
+
+ if (view->url() == url) {
+ // We can end up here if the user clicked a device in the Places Panel
+ // which had been unmounted earlier, see https://bugs.kde.org/show_bug.cgi?id=161385.
+ reloadView();
+ } else {
+ changeUrl(url);
+ }
+}
+
+void DolphinMainWindow::restoreClosedTab(const KUrl& primaryUrl, const KUrl& secondaryUrl)
+{
+ openNewActivatedTab(primaryUrl);
+
+ if (!secondaryUrl.isEmpty() && secondaryUrl.isValid()) {
+ const int index = m_tabBar->currentIndex();
+ createSecondaryView(index);
+ setActiveViewContainer(m_viewTab[index].secondaryView);
+ m_viewTab[index].secondaryView->setUrl(secondaryUrl);
+ }