]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
Use a QActionGroup and save 6 slots (and the duplication of the action names in the...
[dolphin.git] / src / dolphinview.cpp
index 138971360c1a357bea566ee85ecc09ac7f579cdb..de57aa00d5573e3e8769fea7b53ce1ad1387ec5f 100644 (file)
@@ -794,6 +794,14 @@ void DolphinView::updateSortOrder(Qt::SortOrder order)
     emit sortOrderChanged(order);
 }
 
+void DolphinView::toggleSortOrder()
+{
+    const Qt::SortOrder order = (sortOrder() == Qt::AscendingOrder) ?
+                                Qt::DescendingOrder :
+                                Qt::AscendingOrder;
+    setSortOrder(order);
+}
+
 void DolphinView::updateAdditionalInfo(const KFileItemDelegate::InformationList& info)
 {
     ViewProperties props(viewPropertiesUrl());
@@ -1257,4 +1265,48 @@ KAction* DolphinView::createNewDirAction(KActionCollection* collection)
     return newDirAction;
 }
 
+KAction* DolphinView::createSortDescendingAction(KActionCollection* collection)
+{
+    KToggleAction* sortDescending = collection->add<KToggleAction>("descending");
+    sortDescending->setText(i18nc("@action:inmenu Sort", "Descending"));
+    return sortDescending;
+}
+
+QActionGroup* DolphinView::createAdditionalInformationActionGroup(KActionCollection* collection)
+{
+    QActionGroup* showInformationGroup = new QActionGroup(collection);
+
+    KToggleAction* showSizeInfo = collection->add<KToggleAction>("show_size_info");
+    showSizeInfo->setText(i18nc("@action:inmenu Additional information", "Size"));
+    showSizeInfo->setData(KFileItemDelegate::Size);
+    showSizeInfo->setActionGroup(showInformationGroup);
+
+    KToggleAction* showDateInfo = collection->add<KToggleAction>("show_date_info");
+    showDateInfo->setText(i18nc("@action:inmenu Additional information", "Date"));
+    showDateInfo->setData(KFileItemDelegate::ModificationTime);
+    showDateInfo->setActionGroup(showInformationGroup);
+
+    KToggleAction* showPermissionsInfo = collection->add<KToggleAction>("show_permissions_info");
+    showPermissionsInfo->setText(i18nc("@action:inmenu Additional information", "Permissions"));
+    showPermissionsInfo->setData(KFileItemDelegate::Permissions);
+    showPermissionsInfo->setActionGroup(showInformationGroup);
+
+    KToggleAction* showOwnerInfo = collection->add<KToggleAction>("show_owner_info");
+    showOwnerInfo->setText(i18nc("@action:inmenu Additional information", "Owner"));
+    showOwnerInfo->setData(KFileItemDelegate::Owner);
+    showOwnerInfo->setActionGroup(showInformationGroup);
+
+    KToggleAction* showGroupInfo = collection->add<KToggleAction>("show_group_info");
+    showGroupInfo->setText(i18nc("@action:inmenu Additional information", "Group"));
+    showGroupInfo->setData(KFileItemDelegate::OwnerAndGroup);
+    showGroupInfo->setActionGroup(showInformationGroup);
+
+    KToggleAction* showMimeInfo = collection->add<KToggleAction>("show_mime_info");
+    showMimeInfo->setText(i18nc("@action:inmenu Additional information", "Type"));
+    showMimeInfo->setData(KFileItemDelegate::FriendlyMimeType);
+    showMimeInfo->setActionGroup(showInformationGroup);
+
+    return showInformationGroup;
+}
+
 #include "dolphinview.moc"