X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/2c689ca4f7c8dfe62c75dc3c93ac9df2f31c0a8c..1e1e1b6c8604dfef3acca02badfce62e819c79ee:/src/dolphinview.cpp diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 5f7fc1148..e0a3df51e 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -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; }