]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.cpp
Avoid crash on start when help actions are restricted through the Kiosk system
[dolphin.git] / src / dolphinviewcontainer.cpp
index 7053c4a6bc0cf2a7a009bc6e6e60f6d5df36802d..dc7cacff4a5be105e330e4b747c1ae823c095493 100644 (file)
@@ -165,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,
@@ -472,7 +476,8 @@ QString DolphinViewContainer::caption() const
     }
 
     KFilePlacesModel *placesModel = DolphinPlacesModelSingleton::instance().placesModel();
-    const auto& matchedPlaces = placesModel->match(placesModel->index(0,0), KFilePlacesModel::UrlRole, QUrl(url().adjusted(QUrl::StripTrailingSlash).toString(QUrl::FullyEncoded).append("/?")), 1, Qt::MatchRegExp);
+    const QString pattern = url().adjusted(QUrl::StripTrailingSlash).toString(QUrl::FullyEncoded).append("/?");
+    const auto& matchedPlaces = placesModel->match(placesModel->index(0,0), KFilePlacesModel::UrlRole, QRegularExpression::anchoredPattern(pattern), 1, Qt::MatchRegularExpression);
 
     if (!matchedPlaces.isEmpty()) {
         return placesModel->text(matchedPlaces.first());
@@ -544,10 +549,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)
@@ -726,6 +728,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)