#include "dolphinsettings.h"
#include "dolphinview.h"
#include "dolphinviewcontainer.h"
+#include "dolphin_generalsettings.h"
#include <kactioncollection.h>
#include <kfileplacesmodel.h>
}
}
-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);
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(),
// 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");
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));
}