┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStefano Crocco <[email protected]>2024-01-14 09:36:32 +0000
committerMéven Car <[email protected]>2024-01-14 09:36:32 +0000
commit0d01cb09c9ae4d3f208e7a3feca79b3c822deb1e (patch)
tree26e51b53e0999588e782a449b536f5bc7a8ed06d /src
parent0d2aa8a1bed1cef4a2dd99493dacf40812807cf9 (diff)
Never emit the fileMiddleClickActivated signal if isTabsForFilesEnabled is true
Commit d27ee07d makes it impossible for applications embedding Dolphin part (for example, Konqueror) to react to middle mouse click on a file. If I understand correctly (I'm not familiar with Dolphin code) the `fileMiddleClickActivated` signal is connected with a slot in `DolphinViewContainer`, which is only used by Dolphin itself and not by `DolphinPart`. The result is that middle clicking on a file (except archives) from a Dolphin part has no effect. To avoid this situation, I removed the check for `!archiveProtocolIsEmpty()` in the `else if` condition. This way, if `isTabsForFilesEnabled()` is `true`, which should be true if and only if the view is inside a `DolphinPart`, the `activeTabRequested` or `tabRequested` signal will be emitted, allowing the embedding application to respond however it wants. When the view is inside the Dolphin application, instead, `isTabsForFilesEnabled()` will always be `false`, so the new behavior will be used.
Diffstat (limited to 'src')
-rw-r--r--src/views/dolphinview.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index ae0aa903c..c06c49b63 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -1121,7 +1121,6 @@ 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) {
@@ -1129,7 +1128,7 @@ void DolphinView::slotItemMiddleClicked(int index)
} else {
Q_EMIT tabRequested(url);
}
- } else if (!archiveProtocol.isEmpty() && isTabsForFilesEnabled()) {
+ } else if (isTabsForFilesEnabled()) {
// keep in sync with KUrlNavigator::slotNavigatorButtonClicked
if (modifiers & Qt::ShiftModifier) {
Q_EMIT activeTabRequested(item.url());