]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincontextmenu.cpp
Merge remote-tracking branch 'fork/work/zakharafoniam/useful-groups'
[dolphin.git] / src / dolphincontextmenu.cpp
index 413ab96a023085b0566d82eeffc6facaac4ded3d..b6c70b48ab24fd60427690324c5f5b36d762d2b8 100644 (file)
@@ -32,6 +32,7 @@
 #include <QApplication>
 #include <QClipboard>
 #include <QKeyEvent>
+#include <QAction>
 
 DolphinContextMenu::DolphinContextMenu(DolphinMainWindow *parent,
                                        const KFileItem &fileInfo,
@@ -121,7 +122,7 @@ void DolphinContextMenu::addTrashContextMenu()
 {
     Q_ASSERT(m_context & TrashContext);
 
-    QAction *emptyTrashAction = addAction(QIcon::fromTheme(QStringLiteral("trash-empty")), i18nc("@action:inmenu", "Empty Trash"), [this]() {
+    QAction *emptyTrashAction = addAction(QIcon::fromTheme(QStringLiteral("edit-delete")), i18nc("@action:inmenu", "Empty Trash"), this, [this]() {
         Trash::empty(m_mainWindow);
     });
     emptyTrashAction->setEnabled(!Trash::isEmpty());
@@ -153,6 +154,7 @@ void DolphinContextMenu::addTrashItemContextMenu()
                      "Restore to Former Location",
                      "Restore to Former Locations",
                      m_selectedItems.count()),
+              this,
               [this]() {
                   QList<QUrl> selectedUrls;
                   selectedUrls.reserve(m_selectedItems.count());
@@ -165,9 +167,6 @@ void DolphinContextMenu::addTrashItemContextMenu()
                   job->uiDelegate()->setAutoErrorHandlingEnabled(true);
               });
 
-    QAction *propertiesAction = m_mainWindow->actionCollection()->action(QStringLiteral("properties"));
-    addAction(propertiesAction);
-
     addSeparator();
 
     addAction(m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::Cut)));
@@ -177,6 +176,10 @@ void DolphinContextMenu::addTrashItemContextMenu()
 
     QAction *deleteAction = m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::DeleteFile));
     addAction(deleteAction);
+
+    addSeparator();
+
+    addAction(m_mainWindow->actionCollection()->action(QStringLiteral("properties")));
 }
 
 void DolphinContextMenu::addDirectoryItemContextMenu()
@@ -198,7 +201,9 @@ void DolphinContextMenu::addDirectoryItemContextMenu()
     addOpenWithActions();
 
     // set up 'Create New' menu
-    DolphinNewFileMenu *newFileMenu = new DolphinNewFileMenu(m_mainWindow->actionCollection()->action(QStringLiteral("create_dir")), m_mainWindow);
+    QAction *newDirAction = m_mainWindow->actionCollection()->action(QStringLiteral("create_dir"));
+    QAction *newFileAction = m_mainWindow->actionCollection()->action(QStringLiteral("create_file"));
+    DolphinNewFileMenu *newFileMenu = new DolphinNewFileMenu(newDirAction, newFileAction, this);
     newFileMenu->checkUpToDate();
     newFileMenu->setWorkingDirectory(m_fileInfo.url());
     newFileMenu->setEnabled(selectedItemsProps.supportsWriting());
@@ -335,10 +340,13 @@ void DolphinContextMenu::addViewportContextMenu()
     }
     addSeparator();
 
-    // Insert 'Sort By' and 'View Mode'
+    // Insert 'Sort By', 'Group By' and 'View Mode'
     if (ContextMenuSettings::showSortBy()) {
         addAction(m_mainWindow->actionCollection()->action(QStringLiteral("sort")));
     }
+    if (ContextMenuSettings::showGroupBy()) {
+        addAction(m_mainWindow->actionCollection()->action(QStringLiteral("group")));
+    }
     if (ContextMenuSettings::showViewMode()) {
         addAction(m_mainWindow->actionCollection()->action(QStringLiteral("view_mode")));
     }