-QActionGroup* DolphinViewActionHandler::createSortByActionGroup()
-{
- QActionGroup* sortByActionGroup = new QActionGroup(m_actionCollection);
- sortByActionGroup->setExclusive(true);
+ KToggleAction* action = 0;
+ const QString name = groupPrefix + info.role;
+ if (info.group.isEmpty()) {
+ action = m_actionCollection->add<KToggleAction>(name);
+ action->setActionGroup(rolesActionGroup);
+ } else {
+ if (!groupMenu || info.group != groupName) {
+ groupName = info.group;
+ groupMenu = m_actionCollection->add<KActionMenu>(groupName);
+ groupMenu->setText(groupName);
+ groupMenu->setActionGroup(rolesActionGroup);
+
+ groupMenuGroup = new QActionGroup(groupMenu);
+ groupMenuGroup->setExclusive(isSortGroup);
+ if (isSortGroup) {
+ connect(groupMenuGroup, SIGNAL(triggered(QAction*)),
+ this, SLOT(slotSortTriggered(QAction*)));
+ } else {
+ connect(groupMenuGroup, SIGNAL(triggered(QAction*)),
+ this, SLOT(toggleVisibleRole(QAction*)));
+ }
+ }