]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.cpp
GIT_SILENT Upgrade release service version to 21.03.80.
[dolphin.git] / src / dolphinviewcontainer.cpp
index 0fe8ee9d3de0790ca3ebfb0e0c6ec65d2691b9b3..549b62b0393c62bb8ba84b0d6bcb063e922339d0 100644 (file)
@@ -118,6 +118,10 @@ DolphinViewContainer::DolphinViewContainer(const QUrl& url, QWidget* parent) :
             m_urlNavigator.get(), &DolphinUrlNavigator::setLocationUrl);
     connect(m_urlNavigator.get(), &DolphinUrlNavigator::urlChanged,
             this, &DolphinViewContainer::slotUrlNavigatorLocationChanged);
+    connect(m_urlNavigator.get(), &DolphinUrlNavigator::urlAboutToBeChanged,
+            this, &DolphinViewContainer::slotUrlNavigatorLocationAboutToBeChanged);
+    connect(m_urlNavigator.get(), &DolphinUrlNavigator::urlSelectionRequested,
+            this, &DolphinViewContainer::slotUrlSelectionRequested);
     connect(m_view, &DolphinView::writeStateChanged,
             this, &DolphinViewContainer::writeStateChanged);
     connect(m_view, &DolphinView::requestItemInfo,
@@ -161,6 +165,10 @@ DolphinViewContainer::DolphinViewContainer(const QUrl& url, QWidget* parent) :
             m_statusBar, &DolphinStatusBar::setText);
     connect(m_view, &DolphinView::operationCompletedMessage,
             m_statusBar, &DolphinStatusBar::setText);
+    connect(m_view, &DolphinView::statusBarTextChanged,
+            m_statusBar, &DolphinStatusBar::setDefaultText);
+    connect(m_view, &DolphinView::statusBarTextChanged,
+            m_statusBar, &DolphinStatusBar::resetToDefaultText);
     connect(m_statusBar, &DolphinStatusBar::stopPressed,
             this, &DolphinViewContainer::stopDirectoryLoading);
     connect(m_statusBar, &DolphinStatusBar::zoomLevelChanged,
@@ -297,20 +305,18 @@ void DolphinViewContainer::connectUrlNavigator(DolphinUrlNavigator *urlNavigator
     }
     urlNavigator->setActive(isActive());
 
-    connect(m_view, &DolphinView::urlChanged,
-            urlNavigator, &DolphinUrlNavigator::setLocationUrl);
+    // Url changes are still done via m_urlNavigator.
     connect(urlNavigator, &DolphinUrlNavigator::urlChanged,
-            this, &DolphinViewContainer::slotUrlNavigatorLocationChanged);
-    connect(urlNavigator, &DolphinUrlNavigator::activated,
-            this, &DolphinViewContainer::activate);
-    connect(urlNavigator, &DolphinUrlNavigator::urlAboutToBeChanged,
-            this, &DolphinViewContainer::slotUrlNavigatorLocationAboutToBeChanged);
-    connect(urlNavigator, &DolphinUrlNavigator::urlSelectionRequested,
-            this, &DolphinViewContainer::slotUrlSelectionRequested);
+            m_urlNavigator.get(), &DolphinUrlNavigator::setLocationUrl);
     connect(urlNavigator, &DolphinUrlNavigator::urlsDropped,
             this, [=](const QUrl &destination, QDropEvent *event) {
         m_view->dropUrls(destination, event, urlNavigator->dropWidget());
     });
+    // Aside from these, only visual things need to be connected.
+    connect(m_view, &DolphinView::urlChanged,
+            urlNavigator, &DolphinUrlNavigator::setLocationUrl);
+    connect(urlNavigator, &DolphinUrlNavigator::activated,
+            this, &DolphinViewContainer::activate);
 
     m_urlNavigatorConnected = urlNavigator;
 }
@@ -321,18 +327,14 @@ void DolphinViewContainer::disconnectUrlNavigator()
         return;
     }
 
+    disconnect(m_urlNavigatorConnected, &DolphinUrlNavigator::urlChanged,
+               m_urlNavigator.get(), &DolphinUrlNavigator::setLocationUrl);
+    disconnect(m_urlNavigatorConnected, &DolphinUrlNavigator::urlsDropped,
+               this, nullptr);
     disconnect(m_view, &DolphinView::urlChanged,
                m_urlNavigatorConnected, &DolphinUrlNavigator::setLocationUrl);
-    disconnect(m_urlNavigatorConnected, &DolphinUrlNavigator::urlChanged,
-               this, &DolphinViewContainer::slotUrlNavigatorLocationChanged);
     disconnect(m_urlNavigatorConnected, &DolphinUrlNavigator::activated,
                this, &DolphinViewContainer::activate);
-    disconnect(m_urlNavigatorConnected, &DolphinUrlNavigator::urlAboutToBeChanged,
-               this, &DolphinViewContainer::slotUrlNavigatorLocationAboutToBeChanged);
-    disconnect(m_urlNavigatorConnected, &DolphinUrlNavigator::urlSelectionRequested,
-               this, &DolphinViewContainer::slotUrlSelectionRequested);
-    disconnect(m_urlNavigatorConnected, &DolphinUrlNavigator::urlsDropped,
-               this, nullptr);
 
     m_urlNavigatorVisualState = m_urlNavigatorConnected->visualState();
     m_urlNavigatorConnected = nullptr;
@@ -392,7 +394,7 @@ void DolphinViewContainer::setSearchModeEnabled(bool enabled)
     m_searchBox->setVisible(enabled);
 
     if (enabled) {
-        const QUrl& locationUrl = m_urlNavigatorConnected->locationUrl();
+        const QUrl& locationUrl = m_urlNavigator->locationUrl();
         m_searchBox->fromSearchUrl(locationUrl);
     }
 
@@ -546,10 +548,7 @@ void DolphinViewContainer::delayedStatusBarUpdate()
 void DolphinViewContainer::updateStatusBar()
 {
     m_statusBarTimestamp.start();
-
-    const QString text = m_view->statusBarText();
-    m_statusBar->setDefaultText(text);
-    m_statusBar->resetToDefaultText();
+    m_view->requestStatusBarText();
 }
 
 void DolphinViewContainer::updateDirectoryLoadingProgress(int percent)