┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dolphinmainwindow.cpp2
-rw-r--r--src/dolphinviewcontainer.cpp12
-rw-r--r--src/dolphinviewcontainer.h9
3 files changed, 23 insertions, 0 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index e7c402b88..0ff7e77e5 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -1243,7 +1243,9 @@ void DolphinMainWindow::slotPlaceActivated(const QUrl& url)
// which had been unmounted earlier, see https://bugs.kde.org/show_bug.cgi?id=161385.
reloadView();
} else {
+ view->disableUrlNavigatorSelectionRequests();
changeUrl(url);
+ view->enableUrlNavigatorSelectionRequests();
}
}
diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp
index 549b62b03..1a608669f 100644
--- a/src/dolphinviewcontainer.cpp
+++ b/src/dolphinviewcontainer.cpp
@@ -727,6 +727,18 @@ void DolphinViewContainer::slotUrlSelectionRequested(const QUrl& url)
m_view->markUrlAsCurrent(url); // makes the item scroll into view
}
+void DolphinViewContainer::disableUrlNavigatorSelectionRequests()
+{
+ disconnect(m_urlNavigator.get(), &KUrlNavigator::urlSelectionRequested,
+ this, &DolphinViewContainer::slotUrlSelectionRequested);
+}
+
+void DolphinViewContainer::enableUrlNavigatorSelectionRequests()
+{
+ connect(m_urlNavigator.get(), &KUrlNavigator::urlSelectionRequested,
+ this, &DolphinViewContainer::slotUrlSelectionRequested);
+}
+
void DolphinViewContainer::redirect(const QUrl& oldUrl, const QUrl& newUrl)
{
Q_UNUSED(oldUrl)
diff --git a/src/dolphinviewcontainer.h b/src/dolphinviewcontainer.h
index 40e4978d9..1a92e1fa6 100644
--- a/src/dolphinviewcontainer.h
+++ b/src/dolphinviewcontainer.h
@@ -174,6 +174,15 @@ public:
*/
QString caption() const;
+ /**
+ * Disable/enable the behavior of "select child when moving to parent folder"
+ * offered by KUrlNavigator.
+ *
+ * See KUrlNavigator::urlSelectionRequested
+ */
+ void disableUrlNavigatorSelectionRequests();
+ void enableUrlNavigatorSelectionRequests();
+
public Q_SLOTS:
/**
* Sets the current active URL, where all actions are applied. The