+Q_DECLARE_METATYPE(DolphinView::Sorting)
+
+QActionGroup* DolphinViewActionHandler::createSortByActionGroup()
+{
+ QActionGroup* sortByActionGroup = new QActionGroup(m_actionCollection);
+ sortByActionGroup->setExclusive(true);
+
+ KToggleAction* sortByName = m_actionCollection->add<KToggleAction>("sort_by_name");
+ sortByName->setText(i18nc("@action:inmenu Sort By", "Name"));
+ sortByName->setData(QVariant::fromValue(DolphinView::SortByName));
+ sortByActionGroup->addAction(sortByName);
+
+ KToggleAction* sortBySize = m_actionCollection->add<KToggleAction>("sort_by_size");
+ sortBySize->setText(i18nc("@action:inmenu Sort By", "Size"));
+ sortBySize->setData(QVariant::fromValue(DolphinView::SortBySize));
+ sortByActionGroup->addAction(sortBySize);
+
+ KToggleAction* sortByDate = m_actionCollection->add<KToggleAction>("sort_by_date");
+ sortByDate->setText(i18nc("@action:inmenu Sort By", "Date"));
+ sortByDate->setData(QVariant::fromValue(DolphinView::SortByDate));
+ sortByActionGroup->addAction(sortByDate);
+
+ KToggleAction* sortByPermissions = m_actionCollection->add<KToggleAction>("sort_by_permissions");
+ sortByPermissions->setText(i18nc("@action:inmenu Sort By", "Permissions"));
+ sortByPermissions->setData(QVariant::fromValue(DolphinView::SortByPermissions));
+ sortByActionGroup->addAction(sortByPermissions);
+
+ KToggleAction* sortByOwner = m_actionCollection->add<KToggleAction>("sort_by_owner");
+ sortByOwner->setText(i18nc("@action:inmenu Sort By", "Owner"));
+ sortByOwner->setData(QVariant::fromValue(DolphinView::SortByOwner));
+ sortByActionGroup->addAction(sortByOwner);
+
+ KToggleAction* sortByGroup = m_actionCollection->add<KToggleAction>("sort_by_group");
+ sortByGroup->setText(i18nc("@action:inmenu Sort By", "Group"));
+ sortByGroup->setData(QVariant::fromValue(DolphinView::SortByGroup));
+ sortByActionGroup->addAction(sortByGroup);
+
+ KToggleAction* sortByType = m_actionCollection->add<KToggleAction>("sort_by_type");
+ sortByType->setText(i18nc("@action:inmenu Sort By", "Type"));
+ sortByType->setData(QVariant::fromValue(DolphinView::SortByType));
+ sortByActionGroup->addAction(sortByType);
+
+ // TODO: Hid "sort by rating" and "sort by tags" as without caching the performance
+ // is too slow currently (Nepomuk will support caching in future releases).
+ //
+ // KToggleAction* sortByRating = m_actionCollection->add<KToggleAction>("sort_by_rating");
+ // sortByRating->setData(QVariant::fromValue(DolphinView::SortByRating));
+ // sortByRating->setText(i18nc("@action:inmenu Sort By", "Rating"));
+ // sortByActionGroup->addAction(sortByRating);
+ //
+ // KToggleAction* sortByTags = m_actionCollection->add<KToggleAction>("sort_by_tags");
+ // sortByTags->setData(QVariant::fromValue(DolphinView::SortByTags));
+ // sortByTags->setText(i18nc("@action:inmenu Sort By", "Tags"));
+ // sortByActionGroup->addAction(sortByTags);
+ //
+#ifdef HAVE_NEPOMUK
+ // if (!MetaDataWidget::metaDataAvailable()) {
+ // sortByRating->setEnabled(false);
+ // sortByTags->setEnabled(false);
+ // }
+#else
+ // sortByRating->setEnabled(false);
+ // sortByTags->setEnabled(false);
+#endif
+
+
+
+ return sortByActionGroup;
+}
+