┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-03-17 21:10:50 +0000
committerPeter Penz <[email protected]>2007-03-17 21:10:50 +0000
commit6bd958c1d7879a8cfc729797404bf199e98b0a9b (patch)
treebea2cd5044b2ded720aab5fe514413c4e478aa57
parentacfccceb916b885aa2764759076bad1b9d121eb2 (diff)
implemented cut, copy & paste for sidebar context
svn path=/trunk/KDE/kdebase/apps/; revision=643578
-rw-r--r--src/dolphincontextmenu.cpp28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp
index a18f88a41..be21b284b 100644
--- a/src/dolphincontextmenu.cpp
+++ b/src/dolphincontextmenu.cpp
@@ -36,6 +36,7 @@
#include <kmessagebox.h>
#include <kmimetypetrader.h>
#include <knewmenu.h>
+#include <konqmimedata.h>
#include <konq_operations.h>
#include <klocale.h>
#include <kpropertiesdialog.h>
@@ -43,6 +44,8 @@
#include <kstandardaction.h>
#include <kstandarddirs.h>
+#include <QApplication>
+#include <QClipboard>
#include <QDir>
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()