]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.cpp
Update searchbar parameters on URL change
[dolphin.git] / src / dolphinviewcontainer.cpp
index 585610550573c4c1962edf0276fc76ffdcae57b3..8e821d8aae23ed497eba4bb88aad947ef9991c6c 100644 (file)
@@ -396,10 +396,7 @@ void DolphinViewContainer::setSearchModeEnabled(bool enabled)
     m_searchBox->setVisible(enabled);
     m_navigatorWidget->setVisible(!enabled);
 
-    if (enabled) {
-        const QUrl& locationUrl = m_urlNavigator->locationUrl();
-        m_searchBox->fromSearchUrl(locationUrl);
-    } else {
+    if (!enabled) {
         m_view->setViewPropertiesContext(QString());
 
         // Restore the URL for the URL navigator. If Dolphin has been
@@ -426,7 +423,7 @@ QString DolphinViewContainer::placesText() const
     if (isSearchModeEnabled()) {
         text = i18n("Search for %1 in %2", m_searchBox->text(), m_searchBox->searchPath().fileName());
     } else {
-        text = url().fileName();
+        text = url().adjusted(QUrl::StripTrailingSlash).fileName();
         if (text.isEmpty()) {
             text = url().host();
         }
@@ -674,11 +671,15 @@ void DolphinViewContainer::slotUrlNavigatorLocationChanged(const QUrl& url)
     slotReturnPressed();
 
     if (KProtocolManager::supportsListing(url)) {
-        setSearchModeEnabled(isSearchUrl(url));
+        const bool searchUrl = isSearchUrl(url);
+        if (searchUrl) {
+            m_searchBox->fromSearchUrl(url);
+        }
+        setSearchModeEnabled(searchUrl);
         m_view->setUrl(url);
         tryRestoreViewState();
 
-        if (m_autoGrabFocus && isActive() && !isSearchUrl(url)) {
+        if (m_autoGrabFocus && isActive() && !searchUrl) {
             // 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.