mirror of
https://invent.kde.org/system/dolphin
synced 2024-07-04 17:30:55 +00:00
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.
This commit is contained in:
parent
0d2aa8a1be
commit
0d01cb09c9
|
@ -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());
|
||||
|
|
Loading…
Reference in New Issue
Block a user