]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/dolphinview.cpp
Merge remote-tracking branch 'fork/work/zakharafoniam/useful-groups'
[dolphin.git] / src / views / dolphinview.cpp
index b702f5b13bf49d72c9789310fd48e77183bcd396..5c961b47b594c18d0710a3f408dd78668b5a7a64 100644 (file)
@@ -515,6 +515,42 @@ Qt::SortOrder DolphinView::sortOrder() const
     return m_model->sortOrder();
 }
 
+void DolphinView::setGroupRole(const QByteArray &role)
+{
+    if (role != groupRole()) {
+        ViewProperties props(viewPropertiesUrl());
+        props.setGroupRole(role);
+
+        KItemModelBase *model = m_container->controller()->model();
+        model->setGroupRole(role);
+
+        Q_EMIT groupRoleChanged(role);
+    }
+}
+
+QByteArray DolphinView::groupRole() const
+{
+    const KItemModelBase *model = m_container->controller()->model();
+    return model->groupRole();
+}
+
+void DolphinView::setGroupOrder(Qt::SortOrder order)
+{
+    if (groupOrder() != order) {
+        ViewProperties props(viewPropertiesUrl());
+        props.setGroupOrder(order);
+
+        m_model->setGroupOrder(order);
+
+        Q_EMIT groupOrderChanged(order);
+    }
+}
+
+Qt::SortOrder DolphinView::groupOrder() const
+{
+    return m_model->groupOrder();
+}
+
 void DolphinView::setSortFoldersFirst(bool foldersFirst)
 {
     if (sortFoldersFirst() != foldersFirst) {
@@ -2154,6 +2190,18 @@ void DolphinView::applyViewProperties(const ViewProperties &props)
         Q_EMIT sortOrderChanged(sortOrder);
     }
 
+    const QByteArray groupRole = props.groupRole();
+    if (groupRole != m_model->groupRole()) {
+        m_model->setGroupRole(groupRole);
+        Q_EMIT groupRoleChanged(groupRole);
+    }
+
+    const Qt::SortOrder groupOrder = props.groupOrder();
+    if (groupOrder != m_model->groupOrder()) {
+        m_model->setGroupOrder(groupOrder);
+        Q_EMIT groupOrderChanged(groupOrder);
+    }
+
     const bool sortFoldersFirst = props.sortFoldersFirst();
     if (sortFoldersFirst != m_model->sortDirectoriesFirst()) {
         m_model->setSortDirectoriesFirst(sortFoldersFirst);