]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.cpp
GIT_SILENT Sync po/docbooks with svn
[dolphin.git] / src / dolphinviewcontainer.cpp
index b00d59225ac7aa67c557583e171b217650d6d8ab..66a2f2dea91b42629c49ae0f0f3cab972c9aaf93 100644 (file)
@@ -6,8 +6,11 @@
 
 #include "dolphinviewcontainer.h"
 
+#include "dolphin_compactmodesettings.h"
+#include "dolphin_contentdisplaysettings.h"
 #include "dolphin_detailsmodesettings.h"
 #include "dolphin_generalsettings.h"
+#include "dolphin_iconsmodesettings.h"
 #include "dolphindebug.h"
 #include "dolphinplacesmodelsingleton.h"
 #include "filterbar/filterbar.h"
@@ -34,6 +37,7 @@
 #include <KProtocolManager>
 #include <KShell>
 
+#include <QApplication>
 #include <QDesktopServices>
 #include <QDropEvent>
 #include <QGridLayout>
@@ -176,11 +180,9 @@ DolphinViewContainer::DolphinViewContainer(const QUrl &url, QWidget *parent)
 
     setSearchModeEnabled(isSearchUrl(url));
 
-    connect(DetailsModeSettings::self(), &KCoreConfigSkeleton::configChanged, this, [=]() {
-        if (view()->viewMode() == DolphinView::Mode::DetailsView) {
-            view()->reload();
-        }
-    });
+    // Update view as the ContentDisplaySettings change
+    // this happens here and not in DolphinView as DolphinviewContainer and DolphinView are not in the same build target ATM
+    connect(ContentDisplaySettings::self(), &KCoreConfigSkeleton::configChanged, m_view, &DolphinView::reload);
 
     KFilePlacesModel *placesModel = DolphinPlacesModelSingleton::instance().placesModel();
     connect(placesModel, &KFilePlacesModel::dataChanged, this, &DolphinViewContainer::slotPlacesModelChanged);
@@ -206,6 +208,11 @@ QUrl DolphinViewContainer::url() const
     return m_view->url();
 }
 
+KFileItem DolphinViewContainer::rootItem() const
+{
+    return m_view->rootItem();
+}
+
 void DolphinViewContainer::setActive(bool active)
 {
     m_searchBox->setActive(active);
@@ -337,6 +344,9 @@ void DolphinViewContainer::setSelectionModeEnabled(bool enabled, KActionCollecti
         }
         Q_CHECK_PTR(m_selectionModeTopBar); // there is no point in disabling selectionMode when it wasn't even enabled once.
         Q_CHECK_PTR(m_selectionModeBottomBar);
+        if (m_selectionModeTopBar->isAncestorOf(QApplication::focusWidget()) || m_selectionModeBottomBar->isAncestorOf(QApplication::focusWidget())) {
+            m_view->setFocus();
+        }
         m_selectionModeTopBar->setVisible(false, WithAnimation);
         m_selectionModeBottomBar->setVisible(false, WithAnimation);
         Q_EMIT selectionModeChanged(false);
@@ -624,7 +634,7 @@ void DolphinViewContainer::updateStatusBar()
 void DolphinViewContainer::updateDirectoryLoadingProgress(int percent)
 {
     if (m_statusBar->progressText().isEmpty()) {
-        m_statusBar->setProgressText(i18nc("@info:progress", "Loading folder..."));
+        m_statusBar->setProgressText(i18nc("@info:progress", "Loading folder"));
     }
     m_statusBar->setProgress(percent);
 }
@@ -632,7 +642,7 @@ void DolphinViewContainer::updateDirectoryLoadingProgress(int percent)
 void DolphinViewContainer::updateDirectorySortingProgress(int percent)
 {
     if (m_statusBar->progressText().isEmpty()) {
-        m_statusBar->setProgressText(i18nc("@info:progress", "Sorting..."));
+        m_statusBar->setProgressText(i18nc("@info:progress", "Sorting"));
     }
     m_statusBar->setProgress(percent);
 }
@@ -643,7 +653,7 @@ void DolphinViewContainer::slotDirectoryLoadingStarted()
         // Search KIO-slaves usually don't provide any progress information. Give
         // a hint to the user that a searching is done:
         updateStatusBar();
-        m_statusBar->setProgressText(i18nc("@info", "Searching..."));
+        m_statusBar->setProgressText(i18nc("@info", "Searching"));
         m_statusBar->setProgress(-1);
     } else {
         // Trigger an undetermined progress indication. The progress