From 222c8eb5263708d166360afcc2cea2fc866e833a Mon Sep 17 00:00:00 2001 From: Méven Car Date: Sun, 19 Oct 2025 18:53:14 +0200 Subject: viewactionhandler: Group roles actions under KActionCategory --- src/views/dolphinviewactionhandler.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index d109b6bcc..b1ea88d33 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -17,6 +17,7 @@ #if HAVE_BALOO #include #endif +#include #include #include #include @@ -386,10 +387,13 @@ QActionGroup *DolphinViewActionHandler::createFileItemRolesActionGroup(const QSt QActionGroup *rolesActionGroup = new QActionGroup(m_actionCollection); rolesActionGroup->setExclusive(isSortGroup); + KActionCategory *category; if (isSortGroup) { connect(rolesActionGroup, &QActionGroup::triggered, this, &DolphinViewActionHandler::slotSortTriggered); + category = new KActionCategory(i18nc("item:intable", "Sort By field"), m_actionCollection); } else { connect(rolesActionGroup, &QActionGroup::triggered, this, &DolphinViewActionHandler::toggleVisibleRole); + category = new KActionCategory(i18nc("item:intable", "Show Field"), m_actionCollection); } QString groupName; @@ -412,12 +416,12 @@ QActionGroup *DolphinViewActionHandler::createFileItemRolesActionGroup(const QSt KToggleAction *action = nullptr; const QString name = groupPrefix + info.role; if (info.group.isEmpty()) { - action = m_actionCollection->add(name); + action = category->add(name); action->setActionGroup(rolesActionGroup); } else { if (!groupMenu || info.group != groupName) { groupName = info.group; - groupMenu = m_actionCollection->add(groupName); + groupMenu = category->add(groupName); groupMenu->setText(groupName); groupMenu->setActionGroup(rolesActionGroup); @@ -434,7 +438,8 @@ QActionGroup *DolphinViewActionHandler::createFileItemRolesActionGroup(const QSt action->setActionGroup(groupMenuGroup); groupMenu->addAction(action); } - action->setText(info.translation); + action->setText(isSortGroup ? i18nc("@action:intoolbar as in sort by file attribute", "Sort By: %1", info.translation) + : i18nc("@action:intoolbar as in show field for file attribute", "Show Field: %1", info.translation)); action->setData(info.role); const bool enable = (!info.requiresBaloo && !info.requiresIndexer) || (info.requiresBaloo) || (info.requiresIndexer && indexingEnabled); -- cgit v1.3