diff options
Diffstat (limited to 'src/dolphinview.cpp')
| -rw-r--r-- | src/dolphinview.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 610a6d1ff..685177db4 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -605,12 +605,21 @@ void DolphinView::renameSelectedItems() void DolphinView::trashSelectedItems() { emit doingOperation(KIO::FileUndoManager::Trash); - KonqOperations::del(this, KonqOperations::TRASH, selectedUrls()); + KUrl::List list = selectedUrls(); + DolphinDetailsView *dv = qobject_cast<DolphinDetailsView*>(itemView()); + if (dv && dv->itemsExpandable()) { + list = KonqOperations::simplifiedUrlList(list); + } + KonqOperations::del(this, KonqOperations::TRASH, list); } void DolphinView::deleteSelectedItems() { - const KUrl::List list = selectedUrls(); + KUrl::List list = selectedUrls(); + DolphinDetailsView *dv = qobject_cast<DolphinDetailsView*>(itemView()); + if (dv && dv->itemsExpandable()) { + list = KonqOperations::simplifiedUrlList(list); + } const bool del = KonqOperations::askDeleteConfirmation(list, KonqOperations::DEL, KonqOperations::DEFAULT_CONFIRMATION, @@ -626,7 +635,11 @@ void DolphinView::deleteSelectedItems() void DolphinView::cutSelectedItems() { QMimeData* mimeData = new QMimeData(); - const KUrl::List kdeUrls = selectedUrls(); + KUrl::List kdeUrls = selectedUrls(); + DolphinDetailsView *dv = qobject_cast<DolphinDetailsView*>(itemView()); + if (dv && dv->itemsExpandable()) { + kdeUrls = KonqOperations::simplifiedUrlList(kdeUrls); + } const KUrl::List mostLocalUrls; KonqMimeData::populateMimeData(mimeData, kdeUrls, mostLocalUrls, true); QApplication::clipboard()->setMimeData(mimeData); |
