]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/dolphinviewactionhandler.cpp
Implemented the possibility for sorting/grouping behaviors that are not tied to roles...
[dolphin.git] / src / views / dolphinviewactionhandler.cpp
index 7454ed0b947f2979483d052da5a7a4a122c1ae08..c215f1bf7547429551e196d15a46baa8f6c7eda0 100644 (file)
@@ -302,6 +302,18 @@ void DolphinViewActionHandler::createActions(SelectionMode::ActionTextHelper *ac
     // View -> Group By
     QActionGroup *groupByActionGroup = createFileItemRolesActionGroup(QStringLiteral("group_by_"));
 
+    KToggleAction *groupAsNone = m_actionCollection->add<KToggleAction>(QStringLiteral("group_none"));
+    groupAsNone->setData("none");
+    groupAsNone->setActionGroup(groupByActionGroup);
+    groupAsNone->setText(i18nc("@label", "No grouping"));
+    m_groupByActions.insert("none", groupAsNone);
+
+    KToggleAction *groupAsFollowSort = m_actionCollection->add<KToggleAction>(QStringLiteral("group_followSort"));
+    groupAsFollowSort->setData("followSort");
+    groupAsFollowSort->setActionGroup(groupByActionGroup);
+    groupAsFollowSort->setText(i18nc("@label", "Follow sorting"));
+    m_groupByActions.insert("followSort", groupAsFollowSort);
+
     KActionMenu *groupByActionMenu = m_actionCollection->add<KActionMenu>(QStringLiteral("group"));
     groupByActionMenu->setIcon(QIcon::fromTheme(QStringLiteral("view-group")));
     groupByActionMenu->setText(i18nc("@action:inmenu View", "Group By"));
@@ -404,9 +416,6 @@ QActionGroup *DolphinViewActionHandler::createFileItemRolesActionGroup(const QSt
 #endif
 
     QList<KFileItemModel::RoleInfo> rolesInfo = KFileItemModel::rolesInformation();
-    // Unlike sorting, grouping is optional. If creating for group_by_, include a None role.
-    if (isGroupGroup)
-        rolesInfo.append(KFileItemModel::roleInformation(nullptr));
 
     for (const KFileItemModel::RoleInfo &info : rolesInfo) {
         if (!isSortGroup && !isGroupGroup && info.role == "text") {