]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincontextmenu.cpp
let Dolphin use the new tab-close-buttons
[dolphin.git] / src / dolphincontextmenu.cpp
index e17987fdd0c399d9d4774bb8cb0dca2976fe6583..41673e182d291cbfa88aac0ebe740f1c9cb94ce2 100644 (file)
@@ -24,6 +24,7 @@
 #include "dolphinsettings.h"
 #include "dolphinview.h"
 #include "dolphinviewcontainer.h"
+#include "dolphin_generalsettings.h"
 
 #include <kactioncollection.h>
 #include <kfileplacesmodel.h>
@@ -95,25 +96,6 @@ void DolphinContextMenu::open()
     }
 }
 
-void DolphinContextMenu::pasteIntoFolder()
-{
-    // TODO: this method should go into DolphinView (see DolphinContextMenu::createPasteAction())
-    Q_ASSERT(m_selectedItems.count() == 1);
-    Q_ASSERT(m_fileInfo.isDir());
-
-    QClipboard* clipboard = QApplication::clipboard();
-    const QMimeData* mimeData = clipboard->mimeData();
-
-    const KUrl::List source = KUrl::List::fromMimeData(mimeData);
-    const KUrl& dest = m_fileInfo.url();
-    if (KonqMimeData::decodeIsCutSelection(mimeData)) {
-        KonqOperations::copy(m_mainWindow, KonqOperations::MOVE, source, dest);
-        clipboard->clear();
-    } else {
-        KonqOperations::copy(m_mainWindow, KonqOperations::COPY, source, dest);
-    }
-}
-
 void DolphinContextMenu::openTrashContextMenu()
 {
     Q_ASSERT(m_context & TrashContext);
@@ -135,7 +117,7 @@ void DolphinContextMenu::openTrashContextMenu()
 
     QAction *action = popup->exec(QCursor::pos());
     if (action == emptyTrashAction) {
-        const QString text(i18nc("@info", "Do you really want to empty the Trash? All items will get deleted."));
+        const QString text(i18nc("@info", "Do you really want to empty the Trash? All items will be deleted."));
         const bool del = KMessageBox::warningContinueCancel(m_mainWindow,
                                                             text,
                                                             QString(),
@@ -204,8 +186,16 @@ void DolphinContextMenu::openItemContextMenu()
     // Insert 'Actions' sub menu
     KonqMenuActions menuActions;
     menuActions.setItems(m_selectedItems);
-    if (menuActions.addActionsTo(popup))
+    if (menuActions.addActionsTo(popup)) {
         popup->addSeparator();
+    }
+
+    // Insert 'Copy To' and 'Move To' sub menus
+    if (DolphinSettings::instance().generalSettings()->showCopyMoveMenu()) {
+        m_copyToMenu.setItems(m_selectedItems);
+        m_copyToMenu.addActionsTo(popup);
+        popup->addSeparator();
+    }
 
     // insert 'Properties...' entry
     QAction* propertiesAction = m_mainWindow->actionCollection()->action("properties");
@@ -435,14 +425,13 @@ QString DolphinContextMenu::placesName(const KUrl& url) const
 
 QAction* DolphinContextMenu::createPasteAction()
 {
-    // TODO: move this method as QAction* action pasteAction() into DolphinMainWindow
     QAction* action = 0;
     if ((m_selectedItems.count() == 1) && m_fileInfo.isDir()) {
         action = new QAction(KIcon("edit-paste"), i18nc("@action:inmenu", "Paste Into Folder"), this);
         const QMimeData* mimeData = QApplication::clipboard()->mimeData();
         const KUrl::List pasteData = KUrl::List::fromMimeData(mimeData);
         action->setEnabled(!pasteData.isEmpty());
-        connect(action, SIGNAL(triggered()), this, SLOT(pasteIntoFolder()));
+        connect(action, SIGNAL(triggered()), m_mainWindow, SLOT(pasteIntoFolder()));
     } else {
         action = m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::Paste));
     }