]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Update searchbox on URL changes (Fix D24369)
authorIsmael Asensio <isma.af@mgmail.com>
Thu, 3 Oct 2019 20:00:24 +0000 (22:00 +0200)
committerElvis Angelaccio <elvis.angelaccio@kde.org>
Thu, 3 Oct 2019 20:05:13 +0000 (22:05 +0200)
Summary:
In D24369 I introduced a regression: Where now the searchbox is updated on url changes for search urls, it is not updated anymore for regular folders. The effect is that not-indexed folders can have the extra options enabled or vice-versa. This patch fixes it, moving back the updating logic to `setSearchModeEnable`.

Test Plan: - Searchbox updates properly when changing between search urls and regular folders, either indexed or nor-indexed.

Reviewers: #dolphin, elvisangelaccio

Subscribers: kfm-devel, elvisangelaccio

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D24376

src/dolphinviewcontainer.cpp

index 8e821d8aae23ed497eba4bb88aad947ef9991c6c..c6d9d89ad9fffb50218c105155dfb78a5ee816e8 100644 (file)
@@ -385,6 +385,11 @@ bool DolphinViewContainer::isFilterBarVisible() const
 
 void DolphinViewContainer::setSearchModeEnabled(bool enabled)
 {
+    if (enabled) {
+        const QUrl& locationUrl = m_urlNavigator->locationUrl();
+        m_searchBox->fromSearchUrl(locationUrl);
+    }
+
     if (enabled == isSearchModeEnabled()) {
         if (enabled && !m_searchBox->hasFocus()) {
             m_searchBox->setFocus();
@@ -671,15 +676,11 @@ void DolphinViewContainer::slotUrlNavigatorLocationChanged(const QUrl& url)
     slotReturnPressed();
 
     if (KProtocolManager::supportsListing(url)) {
-        const bool searchUrl = isSearchUrl(url);
-        if (searchUrl) {
-            m_searchBox->fromSearchUrl(url);
-        }
-        setSearchModeEnabled(searchUrl);
+        setSearchModeEnabled(isSearchUrl(url));
         m_view->setUrl(url);
         tryRestoreViewState();
 
-        if (m_autoGrabFocus && isActive() && !searchUrl) {
+        if (m_autoGrabFocus && isActive() && !isSearchUrl(url)) {
             // When an URL has been entered, the view should get the focus.
             // The focus must be requested asynchronously, as changing the URL might create
             // a new view widget.