]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/dolphinview.cpp
On middle-click, open file with the second application for the file mime
[dolphin.git] / src / views / dolphinview.cpp
index 13c8b4df26d6315a860392125c66a5ea6c224373..e0d01d1e85baf32a807d70bcd97d7346e5d83f81 100644 (file)
@@ -1136,6 +1136,7 @@ void DolphinView::slotItemMiddleClicked(int index)
     const KFileItem &item = m_model->fileItem(index);
     const QUrl &url = openItemAsFolderUrl(item);
     const auto modifiers = QGuiApplication::keyboardModifiers();
+    const QString &archiveProtocol = KProtocolManager::protocolForArchiveMimetype(item.mimetype());
     if (!url.isEmpty()) {
         // keep in sync with KUrlNavigator::slotNavigatorButtonClicked
         if (modifiers & Qt::ShiftModifier) {
@@ -1143,13 +1144,15 @@ void DolphinView::slotItemMiddleClicked(int index)
         } else {
             Q_EMIT tabRequested(url);
         }
-    } else if (isTabsForFilesEnabled()) {
+    } else if (!archiveProtocol.isEmpty() && isTabsForFilesEnabled()) {
         // keep in sync with KUrlNavigator::slotNavigatorButtonClicked
         if (modifiers & Qt::ShiftModifier) {
             Q_EMIT activeTabRequested(item.url());
         } else {
             Q_EMIT tabRequested(item.url());
         }
+    } else {
+        Q_EMIT fileMiddleClickActivated(item);
     }
 }