X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d4fb129710d7fadf8e21f2cfd2588a794f774e41..d47557dcd17a028596c4e0e7b0aabc5db4847bed:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 21d132020..629faa154 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -312,14 +312,14 @@ void DolphinMainWindow::openNewActivatedTab() m_tabWidget->openNewActivatedTab(); } -void DolphinMainWindow::openNewTab(const KUrl& primaryUrl, const KUrl& secondaryUrl) +void DolphinMainWindow::openNewTab(const KUrl& url) { - m_tabWidget->openNewTab(primaryUrl, secondaryUrl); + m_tabWidget->openNewTab(url); } -void DolphinMainWindow::openNewActivatedTab(const KUrl& primaryUrl, const KUrl& secondaryUrl) +void DolphinMainWindow::openNewActivatedTab(const KUrl& url) { - m_tabWidget->openNewActivatedTab(primaryUrl, secondaryUrl); + m_tabWidget->openNewActivatedTab(url); } void DolphinMainWindow::openInNewTab() @@ -773,6 +773,10 @@ void DolphinMainWindow::openContextMenu(const QPoint& pos, const DolphinContextMenu::Command command = contextMenu.data()->open(); switch (command) { + case DolphinContextMenu::OpenParentFolder: + changeUrl(KIO::upUrl(item.url())); + break; + case DolphinContextMenu::OpenParentFolderInNewWindow: { KRun::run("dolphin %u", QList() << KIO::upUrl(item.url()), this); @@ -990,19 +994,19 @@ void DolphinMainWindow::setupActions() QAction* newWindow = actionCollection()->addAction("new_window"); newWindow->setIcon(QIcon::fromTheme("window-new")); newWindow->setText(i18nc("@action:inmenu File", "New &Window")); - newWindow->setShortcut(Qt::CTRL | Qt::Key_N); + actionCollection()->setDefaultShortcut(newWindow, Qt::CTRL | Qt::Key_N); connect(newWindow, &QAction::triggered, this, &DolphinMainWindow::openNewMainWindow); QAction* newTab = actionCollection()->addAction("new_tab"); newTab->setIcon(QIcon::fromTheme("tab-new")); newTab->setText(i18nc("@action:inmenu File", "New Tab")); - newTab->setShortcuts(QList() << QKeySequence(Qt::CTRL | Qt::Key_T) << QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_N)); + actionCollection()->setDefaultShortcuts(newTab, QList() << QKeySequence(Qt::CTRL | Qt::Key_T) << QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_N)); connect(newTab, &QAction::triggered, this, static_cast(&DolphinMainWindow::openNewActivatedTab)); QAction* closeTab = actionCollection()->addAction("close_tab"); closeTab->setIcon(QIcon::fromTheme("tab-close")); closeTab->setText(i18nc("@action:inmenu File", "Close Tab")); - closeTab->setShortcut(Qt::CTRL | Qt::Key_W); + actionCollection()->setDefaultShortcut(closeTab, Qt::CTRL | Qt::Key_W); closeTab->setEnabled(false); connect(closeTab, &QAction::triggered, m_tabWidget, static_cast(&DolphinTabWidget::closeTab)); @@ -1018,7 +1022,7 @@ void DolphinMainWindow::setupActions() QAction* cut = KStandardAction::cut(this, SLOT(cut()), actionCollection()); auto cutShortcuts = cut->shortcuts(); cutShortcuts.removeAll(QKeySequence(Qt::SHIFT | Qt::Key_Delete)); - cut->setShortcuts(cutShortcuts); + actionCollection()->setDefaultShortcuts(cut, cutShortcuts); KStandardAction::copy(this, SLOT(copy()), actionCollection()); QAction* paste = KStandardAction::paste(this, SLOT(paste()), actionCollection()); // The text of the paste-action is modified dynamically by Dolphin @@ -1030,24 +1034,24 @@ void DolphinMainWindow::setupActions() QAction* selectAll = actionCollection()->addAction("select_all"); selectAll->setText(i18nc("@action:inmenu Edit", "Select All")); - selectAll->setShortcut(Qt::CTRL | Qt::Key_A); + actionCollection()->setDefaultShortcut(selectAll, Qt::CTRL | Qt::Key_A); connect(selectAll, &QAction::triggered, this, &DolphinMainWindow::selectAll); QAction* invertSelection = actionCollection()->addAction("invert_selection"); invertSelection->setText(i18nc("@action:inmenu Edit", "Invert Selection")); - invertSelection->setShortcut(Qt::CTRL | Qt::SHIFT | Qt::Key_A); + actionCollection()->setDefaultShortcut(invertSelection, Qt::CTRL | Qt::SHIFT | Qt::Key_A); connect(invertSelection, &QAction::triggered, this, &DolphinMainWindow::invertSelection); // setup 'View' menu // (note that most of it is set up in DolphinViewActionHandler) QAction* split = actionCollection()->addAction("split_view"); - split->setShortcut(Qt::Key_F3); + actionCollection()->setDefaultShortcut(split, Qt::Key_F3); connect(split, &QAction::triggered, this, &DolphinMainWindow::toggleSplitView); QAction* reload = actionCollection()->addAction("reload"); reload->setText(i18nc("@action:inmenu View", "Reload")); - reload->setShortcut(Qt::Key_F5); + actionCollection()->setDefaultShortcut(reload, Qt::Key_F5); reload->setIcon(QIcon::fromTheme("view-refresh")); connect(reload, &QAction::triggered, this, &DolphinMainWindow::reloadView); @@ -1059,19 +1063,19 @@ void DolphinMainWindow::setupActions() KToggleAction* editableLocation = actionCollection()->add("editable_location"); editableLocation->setText(i18nc("@action:inmenu Navigation Bar", "Editable Location")); - editableLocation->setShortcut(Qt::Key_F6); + actionCollection()->setDefaultShortcut(editableLocation, Qt::Key_F6); connect(editableLocation, &KToggleAction::triggered, this, &DolphinMainWindow::toggleEditLocation); QAction* replaceLocation = actionCollection()->addAction("replace_location"); replaceLocation->setText(i18nc("@action:inmenu Navigation Bar", "Replace Location")); - replaceLocation->setShortcut(Qt::CTRL | Qt::Key_L); + actionCollection()->setDefaultShortcut(replaceLocation, Qt::CTRL | Qt::Key_L); connect(replaceLocation, &QAction::triggered, this, &DolphinMainWindow::replaceLocation); // setup 'Go' menu QAction* backAction = KStandardAction::back(this, SLOT(goBack()), actionCollection()); auto backShortcuts = backAction->shortcuts(); backShortcuts.append(QKeySequence(Qt::Key_Backspace)); - backAction->setShortcuts(backShortcuts); + actionCollection()->setDefaultShortcuts(backAction, backShortcuts); DolphinRecentTabsMenu* recentTabsMenu = new DolphinRecentTabsMenu(this); actionCollection()->addAction("closed_tabs", recentTabsMenu); @@ -1084,7 +1088,7 @@ void DolphinMainWindow::setupActions() QAction* undoCloseTab = actionCollection()->addAction("undo_close_tab"); undoCloseTab->setText(i18nc("@action:inmenu File", "Undo close tab")); - undoCloseTab->setShortcut(Qt::CTRL | Qt::SHIFT | Qt::Key_T); + actionCollection()->setDefaultShortcut(undoCloseTab, Qt::CTRL | Qt::SHIFT | Qt::Key_T); undoCloseTab->setIcon(QIcon::fromTheme("edit-undo")); undoCloseTab->setEnabled(false); connect(undoCloseTab, SIGNAL(triggered()), recentTabsMenu, SLOT(undoCloseTab())); @@ -1097,7 +1101,7 @@ void DolphinMainWindow::setupActions() QAction* showFilterBar = actionCollection()->addAction("show_filter_bar"); showFilterBar->setText(i18nc("@action:inmenu Tools", "Show Filter Bar")); showFilterBar->setIcon(QIcon::fromTheme("view-filter")); - showFilterBar->setShortcut(Qt::CTRL | Qt::Key_I); + actionCollection()->setDefaultShortcut(showFilterBar, Qt::CTRL | Qt::Key_I); connect(showFilterBar, &QAction::triggered, this, &DolphinMainWindow::showFilterBar); QAction* compareFiles = actionCollection()->addAction("compare_files"); @@ -1109,7 +1113,7 @@ void DolphinMainWindow::setupActions() QAction* openTerminal = actionCollection()->addAction("open_terminal"); openTerminal->setText(i18nc("@action:inmenu Tools", "Open Terminal")); openTerminal->setIcon(QIcon::fromTheme("utilities-terminal")); - openTerminal->setShortcut(Qt::SHIFT | Qt::Key_F4); + actionCollection()->setDefaultShortcut(openTerminal, Qt::SHIFT | Qt::Key_F4); connect(openTerminal, &QAction::triggered, this, &DolphinMainWindow::openTerminal); // setup 'Settings' menu @@ -1132,14 +1136,14 @@ void DolphinMainWindow::setupActions() activateNextTab->setText(i18nc("@action:inmenu", "Activate Next Tab")); activateNextTab->setEnabled(false); connect(activateNextTab, &QAction::triggered, m_tabWidget, &DolphinTabWidget::activateNextTab); - activateNextTab->setShortcuts(QApplication::isRightToLeft() ? prevTabKeys : nextTabKeys); + actionCollection()->setDefaultShortcuts(activateNextTab, QApplication::isRightToLeft() ? prevTabKeys : nextTabKeys); QAction* activatePrevTab = actionCollection()->addAction("activate_prev_tab"); activatePrevTab->setIconText(i18nc("@action:inmenu", "Previous Tab")); activatePrevTab->setText(i18nc("@action:inmenu", "Activate Previous Tab")); activatePrevTab->setEnabled(false); connect(activatePrevTab, &QAction::triggered, m_tabWidget, &DolphinTabWidget::activatePrevTab); - activatePrevTab->setShortcuts(QApplication::isRightToLeft() ? nextTabKeys : prevTabKeys); + actionCollection()->setDefaultShortcuts(activatePrevTab, QApplication::isRightToLeft() ? nextTabKeys : prevTabKeys); // for context menu QAction* openInNewTab = actionCollection()->addAction("open_in_new_tab"); @@ -1208,8 +1212,8 @@ void DolphinMainWindow::setupDockWidgets() foldersPanel, &FoldersPanel::setUrl); connect(foldersPanel, &FoldersPanel::folderActivated, this, &DolphinMainWindow::changeUrl); - connect(foldersPanel, SIGNAL(folderMiddleClicked(KUrl)), - this, SLOT(openNewTab(KUrl))); + connect(foldersPanel, &FoldersPanel::folderMiddleClicked, + this, &DolphinMainWindow::openNewTab); connect(foldersPanel, &FoldersPanel::errorMessage, this, &DolphinMainWindow::slotPanelErrorMessage); @@ -1425,8 +1429,8 @@ void DolphinMainWindow::connectViewSignals(DolphinViewContainer* container) this, &DolphinMainWindow::slotSelectionChanged); connect(view, &DolphinView::requestItemInfo, this, &DolphinMainWindow::slotRequestItemInfo); - connect(view, SIGNAL(tabRequested(KUrl)), - this, SLOT(openNewTab(KUrl))); + connect(view, &DolphinView::tabRequested, + this, &DolphinMainWindow::openNewTab); connect(view, &DolphinView::requestContextMenu, this, &DolphinMainWindow::openContextMenu); connect(view, &DolphinView::directoryLoadingStarted, @@ -1445,8 +1449,8 @@ void DolphinMainWindow::connectViewSignals(DolphinViewContainer* container) this, &DolphinMainWindow::updateHistory); connect(navigator, &KUrlNavigator::editableStateChanged, this, &DolphinMainWindow::slotEditableStateChanged); - connect(navigator, SIGNAL(tabRequested(KUrl)), - this, SLOT(openNewTab(KUrl))); + connect(navigator, &KUrlNavigator::tabRequested, + this, &DolphinMainWindow::openNewTab); } void DolphinMainWindow::updateSplitAction() @@ -1457,11 +1461,11 @@ void DolphinMainWindow::updateSplitAction() if (tabPage->primaryViewActive()) { splitAction->setText(i18nc("@action:intoolbar Close left view", "Close")); splitAction->setToolTip(i18nc("@info", "Close left view")); - splitAction->setIcon(KIcon("view-left-close")); + splitAction->setIcon(QIcon::fromTheme("view-left-close")); } else { splitAction->setText(i18nc("@action:intoolbar Close right view", "Close")); splitAction->setToolTip(i18nc("@info", "Close right view")); - splitAction->setIcon(KIcon("view-right-close")); + splitAction->setIcon(QIcon::fromTheme("view-right-close")); } } else { splitAction->setText(i18nc("@action:intoolbar Split view", "Split")); @@ -1493,7 +1497,7 @@ void DolphinMainWindow::createPanelAction(const QIcon& icon, panelAction->setChecked(dockAction->isChecked()); panelAction->setText(dockAction->text()); panelAction->setIcon(icon); - panelAction->setShortcut(shortcut); + actionCollection()->setDefaultShortcut(panelAction, shortcut); connect(panelAction, &QAction::triggered, dockAction, &QAction::trigger); connect(dockAction, &QAction::toggled, panelAction, &QAction::setChecked);