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;
}
// ... 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;
}