diff options
| author | Peter Penz <[email protected]> | 2007-03-17 21:10:50 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-03-17 21:10:50 +0000 |
| commit | 6bd958c1d7879a8cfc729797404bf199e98b0a9b (patch) | |
| tree | bea2cd5044b2ded720aab5fe514413c4e478aa57 | |
| parent | acfccceb916b885aa2764759076bad1b9d121eb2 (diff) | |
implemented cut, copy & paste for sidebar context
svn path=/trunk/KDE/kdebase/apps/; revision=643578
| -rw-r--r-- | src/dolphincontextmenu.cpp | 28 |
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() |
