X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/acfccceb916b885aa2764759076bad1b9d121eb2..7c1f67d529bc00a60c59562fc3339a28594a1c15:/src/dolphincontextmenu.cpp diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index a18f88a41..44c842fe7 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -43,6 +44,8 @@ #include #include +#include +#include #include DolphinContextMenu::DolphinContextMenu(DolphinMainWindow* parent, @@ -104,17 +107,36 @@ void DolphinContextMenu::open() void DolphinContextMenu::cut() { - // TODO + QMimeData* mimeData = new QMimeData(); + KUrl::List kdeUrls; + kdeUrls.append(m_fileInfo->url()); + KonqMimeData::populateMimeData(mimeData, kdeUrls, KUrl::List(), true); + QApplication::clipboard()->setMimeData(mimeData); } void DolphinContextMenu::copy() { - // TODO + QMimeData* mimeData = new QMimeData(); + KUrl::List kdeUrls; + kdeUrls.append(m_fileInfo->url()); + KonqMimeData::populateMimeData(mimeData, kdeUrls, KUrl::List(), false); + QApplication::clipboard()->setMimeData(mimeData); } void DolphinContextMenu::paste() { - // TODO + 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::rename() @@ -143,7 +165,7 @@ void DolphinContextMenu::openTrashContextMenu() KMenu* popup = new KMenu(m_mainWindow); - QAction* emptyTrashAction = new QAction(KIcon("user-trash"), i18n("Emtpy Trash"), popup); + QAction* emptyTrashAction = new QAction(KIcon("emptytrash"), i18n("Emtpy Trash"), popup); KConfig trashConfig("trashrc", KConfig::OnlyLocal); emptyTrashAction->setEnabled(!trashConfig.group("Status").readEntry("Empty", true)); popup->addAction(emptyTrashAction); @@ -355,10 +377,10 @@ void DolphinContextMenu::insertDefaultItemActions(KMenu* popup) QAction* renameAction = 0; if (insertSidebarActions) { renameAction = new QAction(i18n("Rename"), this); - connect(renameAction, SIGNAL(triggered()), this, SLOT(paste())); + connect(renameAction, SIGNAL(triggered()), this, SLOT(rename())); } else { - collection->action("rename"); + renameAction = collection->action("rename"); } popup->addAction(renameAction);