diff options
Diffstat (limited to 'src/dolphinview.cpp')
| -rw-r--r-- | src/dolphinview.cpp | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index fdb4880bb..e1f1cf53c 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -607,17 +607,14 @@ void DolphinView::copySelectedItems() void DolphinView::paste() { - QClipboard* clipboard = QApplication::clipboard(); - const QMimeData* mimeData = clipboard->mimeData(); + pasteToUrl(url()); +} - const KUrl::List sourceUrls = KUrl::List::fromMimeData(mimeData); - if (KonqMimeData::decodeIsCutSelection(mimeData)) { - KonqOperations::copy(this, KonqOperations::MOVE, sourceUrls, url()); - emit doingOperation(KonqFileUndoManager::MOVE); - clipboard->clear(); - } else { - KonqOperations::copy(this, KonqOperations::COPY, sourceUrls, url()); - emit doingOperation(KonqFileUndoManager::COPY); +void DolphinView::pasteIntoFolder() +{ + const KFileItemList items = selectedItems(); + if ((items.count() == 1) && items.first().isDir()) { + pasteToUrl(items.first().url()); } } @@ -1138,4 +1135,20 @@ bool DolphinView::isCutItem(const KFileItem& item) const return false; } +void DolphinView::pasteToUrl(const KUrl& url) +{ + QClipboard* clipboard = QApplication::clipboard(); + const QMimeData* mimeData = clipboard->mimeData(); + + const KUrl::List sourceUrls = KUrl::List::fromMimeData(mimeData); + if (KonqMimeData::decodeIsCutSelection(mimeData)) { + KonqOperations::copy(this, KonqOperations::MOVE, sourceUrls, url); + emit doingOperation(KonqFileUndoManager::MOVE); + clipboard->clear(); + } else { + KonqOperations::copy(this, KonqOperations::COPY, sourceUrls, url); + emit doingOperation(KonqFileUndoManager::COPY); + } +} + #include "dolphinview.moc" |
