diff options
| author | Peter Penz <[email protected]> | 2010-05-03 17:49:49 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2010-05-03 17:49:49 +0000 |
| commit | 2aa41e71676a7fa9e745a4bd9b1d0fb372ad65e3 (patch) | |
| tree | 6f87a50a7c8c68a90794f42ee93ef97e4fa1e4c2 /src/dolphinviewactionhandler.cpp | |
| parent | a77b176d320e2d06577bbad141beaba860f62c46 (diff) | |
Create QActionGroup like done for other sub menus for consistency. Although a few more lines of code are required, this approach is more flexible.bar, but as the group "Panels" can be added instead, this should be no issue.
svn path=/trunk/KDE/kdebase/apps/; revision=1122365
Diffstat (limited to 'src/dolphinviewactionhandler.cpp')
| -rw-r--r-- | src/dolphinviewactionhandler.cpp | 50 |
1 files changed, 31 insertions, 19 deletions
diff --git a/src/dolphinviewactionhandler.cpp b/src/dolphinviewactionhandler.cpp index 8c07148d7..2bbdec013 100644 --- a/src/dolphinviewactionhandler.cpp +++ b/src/dolphinviewactionhandler.cpp @@ -162,22 +162,31 @@ void DolphinViewActionHandler::createActions() sortFoldersFirst->setText(i18nc("@action:inmenu Sort", "Folders First")); connect(sortFoldersFirst, SIGNAL(triggered()), this, SLOT(toggleSortFoldersFirst())); + // View -> Sort By QActionGroup* sortByActionGroup = createSortByActionGroup(); connect(sortByActionGroup, SIGNAL(triggered(QAction*)), this, SLOT(slotSortTriggered(QAction*))); - KActionMenu* sortActionMenu = m_actionCollection->add<KActionMenu>("sort"); - sortActionMenu->setText(i18nc("@action:inmenu View", "Sort By")); - sortActionMenu->setDelayed(false); + KActionMenu* sortByActionMenu = m_actionCollection->add<KActionMenu>("sort"); + sortByActionMenu->setText(i18nc("@action:inmenu View", "Sort By")); + sortByActionMenu->setDelayed(false); - foreach(QAction* actionItem, sortByActionGroup->actions()) { - sortActionMenu->addAction(actionItem); + foreach (QAction* action, sortByActionGroup->actions()) { + sortByActionMenu->addAction(action); } - sortActionMenu->addSeparator(); - sortActionMenu->addAction(sortDescending); - sortActionMenu->addAction(sortFoldersFirst); + sortByActionMenu->addSeparator(); + sortByActionMenu->addAction(sortDescending); + sortByActionMenu->addAction(sortFoldersFirst); - KActionMenu* showInformationActionMenu = createAdditionalInformationActionMenu(); - connect(showInformationActionMenu, SIGNAL(triggered(QAction*)), this, SLOT(toggleAdditionalInfo(QAction*))); + // View -> Additional Information + QActionGroup* additionalInfoGroup = createAdditionalInformationActionGroup(); + connect(additionalInfoGroup, SIGNAL(triggered(QAction*)), this, SLOT(toggleAdditionalInfo(QAction*))); + + KActionMenu* additionalInfoMenu = m_actionCollection->add<KActionMenu>("additional_info"); + additionalInfoMenu->setText(i18nc("@action:inmenu View", "Additional Information")); + additionalInfoMenu->setDelayed(false); + foreach (QAction* action, additionalInfoGroup->actions()) { + additionalInfoMenu->addAction(action); + } KToggleAction* showInGroups = m_actionCollection->add<KToggleAction>("show_in_groups"); showInGroups->setText(i18nc("@action:inmenu View", "Show in Groups")); @@ -201,8 +210,11 @@ void DolphinViewActionHandler::createActions() connect(findFile, SIGNAL(triggered()), this, SLOT(slotFindFile())); } -KActionMenu* DolphinViewActionHandler::createAdditionalInformationActionMenu() +QActionGroup* DolphinViewActionHandler::createAdditionalInformationActionGroup() { + QActionGroup* additionalInfoGroup = new QActionGroup(m_actionCollection); + additionalInfoGroup->setExclusive(false); + KActionMenu* showInformationMenu = m_actionCollection->add<KActionMenu>("additional_info"); showInformationMenu->setText(i18nc("@action:inmenu View", "Additional Information")); showInformationMenu->setDelayed(false); @@ -210,34 +222,34 @@ KActionMenu* DolphinViewActionHandler::createAdditionalInformationActionMenu() KToggleAction* showSizeInfo = m_actionCollection->add<KToggleAction>("show_size_info"); showSizeInfo->setText(i18nc("@action:inmenu Additional information", "Size")); showSizeInfo->setData(KFileItemDelegate::Size); - showInformationMenu->addAction(showSizeInfo); + showSizeInfo->setActionGroup(additionalInfoGroup); KToggleAction* showDateInfo = m_actionCollection->add<KToggleAction>("show_date_info"); showDateInfo->setText(i18nc("@action:inmenu Additional information", "Date")); showDateInfo->setData(KFileItemDelegate::ModificationTime); - showInformationMenu->addAction(showDateInfo); + showDateInfo->setActionGroup(additionalInfoGroup); KToggleAction* showPermissionsInfo = m_actionCollection->add<KToggleAction>("show_permissions_info"); showPermissionsInfo->setText(i18nc("@action:inmenu Additional information", "Permissions")); showPermissionsInfo->setData(KFileItemDelegate::Permissions); - showInformationMenu->addAction(showPermissionsInfo); + showPermissionsInfo->setActionGroup(additionalInfoGroup); KToggleAction* showOwnerInfo = m_actionCollection->add<KToggleAction>("show_owner_info"); showOwnerInfo->setText(i18nc("@action:inmenu Additional information", "Owner")); showOwnerInfo->setData(KFileItemDelegate::Owner); - showInformationMenu->addAction(showOwnerInfo); + showOwnerInfo->setActionGroup(additionalInfoGroup); KToggleAction* showGroupInfo = m_actionCollection->add<KToggleAction>("show_group_info"); showGroupInfo->setText(i18nc("@action:inmenu Additional information", "Group")); showGroupInfo->setData(KFileItemDelegate::OwnerAndGroup); - showInformationMenu->addAction(showGroupInfo); + showGroupInfo->setActionGroup(additionalInfoGroup); KToggleAction* showMimeInfo = m_actionCollection->add<KToggleAction>("show_mime_info"); showMimeInfo->setText(i18nc("@action:inmenu Additional information", "Type")); - showMimeInfo->setData(KFileItemDelegate::FriendlyMimeType);; - showInformationMenu->addAction(showMimeInfo); + showMimeInfo->setData(KFileItemDelegate::FriendlyMimeType); + showMimeInfo->setActionGroup(additionalInfoGroup); - return showInformationMenu; + return additionalInfoGroup; } Q_DECLARE_METATYPE(DolphinView::Sorting) |
