X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/4709626a9b4557e77f99ed15353e80ffa608c75c..48b58f830a585b773435c9af5ee2fe8f0c7c641d:/src/dolphinmainwindow.cpp?ds=sidebyside diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index d3e2fd907..462675c09 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -33,6 +33,7 @@ #include "panels/folders/folderspanel.h" #include "panels/places/placespanel.h" #include "panels/information/informationpanel.h" +#include "panels/terminal/terminalpanel.h" #include "settings/dolphinsettingsdialog.h" #include "statusbar/dolphinstatusbar.h" #include "views/dolphinviewactionhandler.h" @@ -40,48 +41,43 @@ #include "views/draganddrophelper.h" #include "views/viewproperties.h" #include "views/dolphinnewfilemenuobserver.h" - -#ifndef Q_OS_WIN -#include "panels/terminal/terminalpanel.h" -#endif - #include "dolphin_generalsettings.h" #include #include #include #include -#include +#include +#include #include -#include -#include -#include #include +#include #include -#include -#include -#include #include -#include -#include +#include +#include #include #include #include #include -#include +#include #include #include +#include #include -#include #include -#include -#include -#include -#include #include -#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace { // Used for GeneralSettings::version() to determine whether @@ -100,9 +96,7 @@ DolphinMainWindow::DolphinMainWindow() : m_controlButton(nullptr), m_updateToolBarTimer(nullptr), m_lastHandleUrlStatJob(nullptr), -#ifndef Q_OS_WIN m_terminalPanel(nullptr), -#endif m_placesPanel(nullptr), m_tearDownFromPlacesRequested(false) { @@ -416,6 +410,8 @@ void DolphinMainWindow::closeEvent(QCloseEvent* event) case QDialogButtonBox::No: // Close only the current tab m_tabWidget->closeTab(); + // Do not quit, ignore quit event + // fall through default: event->ignore(); return; @@ -631,11 +627,9 @@ void DolphinMainWindow::togglePanelLockState() void DolphinMainWindow::slotTerminalPanelVisibilityChanged() { -#ifndef Q_OS_WIN if (m_terminalPanel->isHiddenInVisibleWindow()) { m_activeViewContainer->view()->setFocus(); } -#endif } void DolphinMainWindow::goBack() @@ -1025,7 +1019,6 @@ void DolphinMainWindow::setUrlAsCaption(const QUrl& url) void DolphinMainWindow::slotStorageTearDownFromPlacesRequested(const QString& mountPath) { -#ifndef Q_OS_WIN if (m_terminalPanel->currentWorkingDirectory().startsWith(mountPath)) { m_tearDownFromPlacesRequested = true; m_terminalPanel->goHome(); @@ -1033,17 +1026,14 @@ void DolphinMainWindow::slotStorageTearDownFromPlacesRequested(const QString& mo } else { m_placesPanel->proceedWithTearDown(); } -#endif } void DolphinMainWindow::slotStorageTearDownExternallyRequested(const QString& mountPath) { -#ifndef Q_OS_WIN if (m_terminalPanel->currentWorkingDirectory().startsWith(mountPath)) { m_tearDownFromPlacesRequested = false; m_terminalPanel->goHome(); } -#endif } void DolphinMainWindow::setupActions() @@ -1060,19 +1050,19 @@ void DolphinMainWindow::setupActions() QAction* newWindow = actionCollection()->addAction(QStringLiteral("new_window")); newWindow->setIcon(QIcon::fromTheme(QStringLiteral("window-new"))); newWindow->setText(i18nc("@action:inmenu File", "New &Window")); - actionCollection()->setDefaultShortcut(newWindow, Qt::CTRL | Qt::Key_N); + actionCollection()->setDefaultShortcut(newWindow, Qt::CTRL + Qt::Key_N); connect(newWindow, &QAction::triggered, this, &DolphinMainWindow::openNewMainWindow); QAction* newTab = actionCollection()->addAction(QStringLiteral("new_tab")); newTab->setIcon(QIcon::fromTheme(QStringLiteral("tab-new"))); newTab->setText(i18nc("@action:inmenu File", "New Tab")); - actionCollection()->setDefaultShortcuts(newTab, {Qt::CTRL | Qt::Key_T, Qt::CTRL | Qt::SHIFT | Qt::Key_N}); + actionCollection()->setDefaultShortcuts(newTab, {Qt::CTRL + Qt::Key_T, Qt::CTRL + Qt::SHIFT + Qt::Key_N}); connect(newTab, &QAction::triggered, this, static_cast(&DolphinMainWindow::openNewActivatedTab)); QAction* closeTab = actionCollection()->addAction(QStringLiteral("close_tab")); closeTab->setIcon(QIcon::fromTheme(QStringLiteral("tab-close"))); closeTab->setText(i18nc("@action:inmenu File", "Close Tab")); - actionCollection()->setDefaultShortcut(closeTab, 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)); @@ -1096,12 +1086,14 @@ void DolphinMainWindow::setupActions() QAction* selectAll = actionCollection()->addAction(QStringLiteral("select_all")); selectAll->setText(i18nc("@action:inmenu Edit", "Select All")); - actionCollection()->setDefaultShortcut(selectAll, Qt::CTRL | Qt::Key_A); + selectAll->setIcon(QIcon::fromTheme(QStringLiteral("edit-select-all"))); + actionCollection()->setDefaultShortcut(selectAll, Qt::CTRL + Qt::Key_A); connect(selectAll, &QAction::triggered, this, &DolphinMainWindow::selectAll); 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); + invertSelection->setIcon(QIcon::fromTheme(QStringLiteral("edit-select-invert"))); + actionCollection()->setDefaultShortcut(invertSelection, Qt::CTRL + Qt::SHIFT + Qt::Key_A); connect(invertSelection, &QAction::triggered, this, &DolphinMainWindow::invertSelection); // setup 'View' menu @@ -1112,7 +1104,7 @@ void DolphinMainWindow::setupActions() connect(split, &QAction::triggered, this, &DolphinMainWindow::toggleSplitView); QAction* stashSplit = actionCollection()->addAction(QStringLiteral("split_stash")); - actionCollection()->setDefaultShortcut(stashSplit, Qt::CTRL | Qt::Key_S); + actionCollection()->setDefaultShortcut(stashSplit, Qt::CTRL + Qt::Key_S); stashSplit->setText(i18nc("@action:intoolbar Stash", "Stash")); stashSplit->setToolTip(i18nc("@info", "Opens the stash virtual directory in a split window")); stashSplit->setIcon(QIcon::fromTheme(QStringLiteral("folder-stash"))); @@ -1139,7 +1131,7 @@ void DolphinMainWindow::setupActions() QAction* replaceLocation = actionCollection()->addAction(QStringLiteral("replace_location")); replaceLocation->setText(i18nc("@action:inmenu Navigation Bar", "Replace Location")); - actionCollection()->setDefaultShortcut(replaceLocation, Qt::CTRL | Qt::Key_L); + actionCollection()->setDefaultShortcut(replaceLocation, Qt::CTRL + Qt::Key_L); connect(replaceLocation, &QAction::triggered, this, &DolphinMainWindow::replaceLocation); // setup 'Go' menu @@ -1159,7 +1151,7 @@ void DolphinMainWindow::setupActions() QAction* undoCloseTab = actionCollection()->addAction(QStringLiteral("undo_close_tab")); undoCloseTab->setText(i18nc("@action:inmenu File", "Undo close tab")); - actionCollection()->setDefaultShortcut(undoCloseTab, Qt::CTRL | Qt::SHIFT | Qt::Key_T); + actionCollection()->setDefaultShortcut(undoCloseTab, Qt::CTRL + Qt::SHIFT + Qt::Key_T); undoCloseTab->setIcon(QIcon::fromTheme(QStringLiteral("edit-undo"))); undoCloseTab->setEnabled(false); connect(undoCloseTab, &QAction::triggered, recentTabsMenu, &DolphinRecentTabsMenu::undoCloseTab); @@ -1175,7 +1167,7 @@ void DolphinMainWindow::setupActions() QAction* showFilterBar = actionCollection()->addAction(QStringLiteral("show_filter_bar")); showFilterBar->setText(i18nc("@action:inmenu Tools", "Show Filter Bar")); showFilterBar->setIcon(QIcon::fromTheme(QStringLiteral("view-filter"))); - actionCollection()->setDefaultShortcut(showFilterBar, Qt::CTRL | Qt::Key_I); + actionCollection()->setDefaultShortcuts(showFilterBar, {Qt::CTRL + Qt::Key_I, Qt::Key_Slash}); connect(showFilterBar, &QAction::triggered, this, &DolphinMainWindow::showFilterBar); QAction* compareFiles = actionCollection()->addAction(QStringLiteral("compare_files")); @@ -1189,7 +1181,7 @@ void DolphinMainWindow::setupActions() QAction* openTerminal = actionCollection()->addAction(QStringLiteral("open_terminal")); openTerminal->setText(i18nc("@action:inmenu Tools", "Open Terminal")); openTerminal->setIcon(QIcon::fromTheme(QStringLiteral("utilities-terminal"))); - actionCollection()->setDefaultShortcut(openTerminal, Qt::SHIFT | Qt::Key_F4); + actionCollection()->setDefaultShortcut(openTerminal, Qt::SHIFT + Qt::Key_F4); connect(openTerminal, &QAction::triggered, this, &DolphinMainWindow::openTerminal); } #endif @@ -1202,10 +1194,10 @@ void DolphinMainWindow::setupActions() // not in menu actions QList nextTabKeys = KStandardShortcut::tabNext(); - nextTabKeys.append(QKeySequence(Qt::CTRL | Qt::Key_Tab)); + nextTabKeys.append(QKeySequence(Qt::CTRL + Qt::Key_Tab)); QList prevTabKeys = KStandardShortcut::tabPrev(); - prevTabKeys.append(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_Tab)); + prevTabKeys.append(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Tab)); QAction* activateNextTab = actionCollection()->addAction(QStringLiteral("activate_next_tab")); activateNextTab->setIconText(i18nc("@action:inmenu", "Next Tab")); @@ -1368,9 +1360,7 @@ void DolphinMainWindow::setupDockWidgets() panelsMenu->addAction(ac->action(QStringLiteral("show_places_panel"))); panelsMenu->addAction(ac->action(QStringLiteral("show_information_panel"))); panelsMenu->addAction(ac->action(QStringLiteral("show_folders_panel"))); -#ifndef Q_OS_WIN panelsMenu->addAction(ac->action(QStringLiteral("show_terminal_panel"))); -#endif panelsMenu->addSeparator(); panelsMenu->addAction(lockLayoutAction); }