diff options
Diffstat (limited to 'src/dolphinviewcontainer.cpp')
| -rw-r--r-- | src/dolphinviewcontainer.cpp | 7 |
1 files changed, 5 insertions, 2 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) { |
