]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
Hide unused and not drawn columns on the details view
[dolphin.git] / src / dolphinview.cpp
index 5f7fc11480b24117f0fb027641c0cebef931b4fe..e0a3df51e6ebc4251d5206f1261205bd2a3e71ef 100644 (file)
@@ -219,12 +219,17 @@ bool DolphinView::showHiddenFiles() const
 
 void DolphinView::setCategorizedSorting(bool categorized)
 {
-    if (categorized && !supportsCategorizedSorting()) {
-        setCategorizedSorting(false);
+    if (categorized == categorizedSorting()) {
         return;
     }
 
-    if (categorized == categorizedSorting()) {
+    if (!categorized && !supportsCategorizedSorting())
+    {
+        m_proxyModel->setCategorizedModel(categorized);
+        m_proxyModel->sort(m_proxyModel->sortColumn(), m_proxyModel->sortOrder());
+
+        emit categorizedSortingChanged();
+
         return;
     }
 
@@ -799,20 +804,27 @@ void DolphinView::createView()
 
     // ... and recreate it representing the current mode
     switch (m_mode) {
-    case IconsView:
+    case IconsView: {
+        const KUrl viewPropsUrl = viewPropertiesUrl();
+        const ViewProperties props(viewPropsUrl);
+
         m_iconsView = new DolphinIconsView(this, m_controller);
         m_iconsView->setCategoryDrawer(new DolphinCategoryDrawer());
         view = m_iconsView;
+        setCategorizedSorting(props.categorizedSorting());
         break;
+    }
 
     case DetailsView:
         m_detailsView = new DolphinDetailsView(this, m_controller);
         view = m_detailsView;
+        setCategorizedSorting(false);
         break;
 
     case ColumnView:
         m_columnView = new DolphinColumnView(this, m_controller);
         view = m_columnView;
+        setCategorizedSorting(false);
         break;
     }