diff options
| -rw-r--r-- | src/dolphinviewcontainer.cpp | 7 | ||||
| -rw-r--r-- | src/dolphinviewcontainer.h | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index b3a8a664a..0605cb0c8 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -777,8 +777,12 @@ void DolphinViewContainer::slotItemActivated(const KFileItem &item) void DolphinViewContainer::slotfileMiddleClickActivated(const KFileItem &item) { KService::List services = KApplicationTrader::queryByMimeType(item.mimetype()); + const auto modifiers = QGuiApplication::keyboardModifiers(); int indexOfAppToOpenFileWith = 1; + if (modifiers & Qt::ShiftModifier) { + indexOfAppToOpenFileWith = 2; + } // executable scripts auto mimeType = item.currentMimeType(); @@ -803,9 +807,8 @@ void DolphinViewContainer::slotfileMiddleClickActivated(const KFileItem &item) connect(job, &KIO::OpenUrlJob::finished, this, &DolphinViewContainer::slotOpenUrlFinished); job->start(); } else { - // If no 2nd service available, try to open archives in new tabs, regardless of the "Browse compressed files as folders" setting. + // If no 2nd or 3rd service available, try to open archives in new tabs, regardless of the "Browse compressed files as folders" setting. const QUrl &url = DolphinView::openItemAsFolderUrl(item); - const auto modifiers = QGuiApplication::keyboardModifiers(); if (!url.isEmpty()) { // keep in sync with KUrlNavigator::slotNavigatorButtonClicked if (modifiers & Qt::ShiftModifier) { diff --git a/src/dolphinviewcontainer.h b/src/dolphinviewcontainer.h index d2d322b08..09413ba55 100644 --- a/src/dolphinviewcontainer.h +++ b/src/dolphinviewcontainer.h @@ -351,7 +351,9 @@ private Q_SLOTS: void slotItemsActivated(const KFileItemList &items); /** - * Handles middle click of file. It opens the file passed using the second application associated with the file's mimetype. + * Handles middle click of file. It opens the file passed using + * the second application associated with the file's mimetype, or + * the third if shift modifier is pressed. */ void slotfileMiddleClickActivated(const KFileItem &item); |
