]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.cpp
Hide tooltip instantly on filter change
[dolphin.git] / src / dolphinviewcontainer.cpp
index 98b812497986f472efb9360815633af928fa21a0..9ed7654fafaf9388e9a4e4cd368aa15044dbe0da 100644 (file)
@@ -385,6 +385,14 @@ bool DolphinViewContainer::isFilterBarVisible() const
 
 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);
+    }
+
     if (enabled == isSearchModeEnabled()) {
         if (enabled && !m_searchBox->hasFocus()) {
             m_searchBox->setFocus();
@@ -393,9 +401,6 @@ void DolphinViewContainer::setSearchModeEnabled(bool enabled)
         return;
     }
 
-    m_searchBox->setVisible(enabled);
-    m_navigatorWidget->setVisible(!enabled);
-
     if (!enabled) {
         m_view->setViewPropertiesContext(QString());
 
@@ -505,6 +510,7 @@ void DolphinViewContainer::setFilterBarVisible(bool visible)
 {
     Q_ASSERT(m_filterBar);
     if (visible) {
+        m_view->hideToolTip(ToolTipManager::HideBehavior::Instantly);
         m_filterBar->show();
         m_filterBar->setFocus();
         m_filterBar->selectAll();
@@ -654,6 +660,7 @@ void DolphinViewContainer::closeFilterBar()
 
 void DolphinViewContainer::setNameFilter(const QString& nameFilter)
 {
+    m_view->hideToolTip(ToolTipManager::HideBehavior::Instantly);
     m_view->setNameFilter(nameFilter);
     delayedStatusBarUpdate();
 }
@@ -673,15 +680,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.
@@ -725,7 +728,7 @@ void DolphinViewContainer::slotUrlSelectionRequested(const QUrl& url)
 
 void DolphinViewContainer::redirect(const QUrl& oldUrl, const QUrl& newUrl)
 {
-    Q_UNUSED(oldUrl);
+    Q_UNUSED(oldUrl)
     const bool block = m_urlNavigator->signalsBlocked();
     m_urlNavigator->blockSignals(true);