- QActionGroup* viewModeActions = new QActionGroup(this);
- viewModeActions->addAction(DolphinView::iconsModeAction(actionCollection()));
- viewModeActions->addAction(DolphinView::detailsModeAction(actionCollection()));
- viewModeActions->addAction(DolphinView::columnsModeAction(actionCollection()));
- connect(viewModeActions, SIGNAL(triggered(QAction*)), this, SLOT(slotViewModeActionTriggered(QAction*)));
-
- KAction* renameAction = DolphinView::createRenameAction(actionCollection());
- connect(renameAction, SIGNAL(triggered()), m_view, SLOT(renameSelectedItems()));
-
- KAction* moveToTrashAction = DolphinView::createMoveToTrashAction(actionCollection());
- connect(moveToTrashAction, SIGNAL(triggered(Qt::MouseButtons, Qt::KeyboardModifiers)),
- this, SLOT(slotTrashActivated(Qt::MouseButtons, Qt::KeyboardModifiers)));
+ // Edit menu
+
+ m_newFileMenu = new DolphinNewFileMenu(actionCollection(), this);
+ m_newFileMenu->setParentWidget(widget());
+ connect(m_newFileMenu->menu(), &QMenu::aboutToShow,
+ this, &DolphinPart::updateNewMenu);
+
+ QAction *editMimeTypeAction = actionCollection()->addAction( QStringLiteral("editMimeType") );
+ editMimeTypeAction->setText( i18nc("@action:inmenu Edit", "&Edit File Type..." ) );
+ connect(editMimeTypeAction, &QAction::triggered, this, &DolphinPart::slotEditMimeType);
+
+ QAction* selectItemsMatching = actionCollection()->addAction(QStringLiteral("select_items_matching"));
+ selectItemsMatching->setText(i18nc("@action:inmenu Edit", "Select Items Matching..."));
+ actionCollection()->setDefaultShortcut(selectItemsMatching, Qt::CTRL + Qt::Key_S);
+ connect(selectItemsMatching, &QAction::triggered, this, &DolphinPart::slotSelectItemsMatchingPattern);
+
+ QAction* unselectItemsMatching = actionCollection()->addAction(QStringLiteral("unselect_items_matching"));
+ unselectItemsMatching->setText(i18nc("@action:inmenu Edit", "Unselect Items Matching..."));
+ connect(unselectItemsMatching, &QAction::triggered, this, &DolphinPart::slotUnselectItemsMatchingPattern);
+
+ KStandardAction::selectAll(m_view, &DolphinView::selectAll, actionCollection());
+
+ QAction* unselectAll = actionCollection()->addAction(QStringLiteral("unselect_all"));
+ unselectAll->setText(i18nc("@action:inmenu Edit", "Unselect All"));
+ connect(unselectAll, &QAction::triggered, m_view, &DolphinView::clearSelection);
+
+ QAction* invertSelection = actionCollection()->addAction(QStringLiteral("invert_selection"));
+ invertSelection->setText(i18nc("@action:inmenu Edit", "Invert Selection"));
+ actionCollection()->setDefaultShortcut(invertSelection, Qt::CTRL + Qt::SHIFT + Qt::Key_A);
+ connect(invertSelection, &QAction::triggered, m_view, &DolphinView::invertSelection);
+
+ // View menu: all done by DolphinViewActionHandler
+
+ // Go menu
+
+ QActionGroup* goActionGroup = new QActionGroup(this);
+ connect(goActionGroup, &QActionGroup::triggered,
+ this, &DolphinPart::slotGoTriggered);
+
+ createGoAction("go_applications", "start-here-kde",
+ i18nc("@action:inmenu Go", "App&lications"), QStringLiteral("programs:/"),
+ goActionGroup);
+ createGoAction("go_network_folders", "folder-remote",
+ i18nc("@action:inmenu Go", "&Network Folders"), QStringLiteral("remote:/"),
+ goActionGroup);
+ createGoAction("go_settings", "preferences-system",
+ i18nc("@action:inmenu Go", "Sett&ings"), QStringLiteral("settings:/"),
+ goActionGroup);
+ createGoAction("go_trash", "user-trash",
+ i18nc("@action:inmenu Go", "Trash"), QStringLiteral("trash:/"),
+ goActionGroup);
+ createGoAction("go_autostart", "",
+ i18nc("@action:inmenu Go", "Autostart"), QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + "/autostart",
+ goActionGroup);
+
+ // Tools menu
+ m_findFileAction = KStandardAction::find(this, &DolphinPart::slotFindFile, actionCollection());
+ m_findFileAction->setText(i18nc("@action:inmenu Tools", "Find File..."));
+
+#ifndef Q_OS_WIN
+ if (KAuthorized::authorize(QStringLiteral("shell_access"))) {
+ m_openTerminalAction = actionCollection()->addAction(QStringLiteral("open_terminal"));
+ m_openTerminalAction->setIcon(QIcon::fromTheme(QStringLiteral("dialog-scripts")));
+ m_openTerminalAction->setText(i18nc("@action:inmenu Tools", "Open &Terminal"));
+ connect(m_openTerminalAction, &QAction::triggered, this, &DolphinPart::slotOpenTerminal);
+ actionCollection()->setDefaultShortcut(m_openTerminalAction, Qt::Key_F4);
+ }
+#endif
+}