From 88c3bd18663c8ceaf418e4b6d247ba6bd83e47ff Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Tue, 27 Mar 2012 19:48:49 +0200 Subject: [PATCH] Select files which have been pasted or dropped Also clear the previous selection. CCBUG: 295389 (cherry picked from commit 210e5e3b96883f5d856913f81834310ecb3819bf) --- src/views/dolphinview.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index c9af2248a..ab81316e1 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -942,6 +942,11 @@ void DolphinView::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* even if (!error.isEmpty()) { emit errorMessage(error); } + + if (destUrl == url()) { + // Mark the dropped urls as selected. + markPastedUrlsAsSelected(event->mimeData()); + } } void DolphinView::slotModelChanged(KItemModelBase* current, KItemModelBase* previous) @@ -1146,6 +1151,8 @@ void DolphinView::updateViewState() } if (!m_selectedUrls.isEmpty()) { + clearSelection(); + KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager(); QSet selectedItems = selectionManager->selectedItems(); const KFileItemModel* model = fileItemModel(); @@ -1417,8 +1424,13 @@ QMimeData* DolphinView::selectionMimeData() const void DolphinView::markPastedUrlsAsSelected(const QMimeData* mimeData) { - const KUrl::List urls = KUrl::List::fromMimeData(mimeData); - markUrlsAsSelected(urls); + const KUrl::List sourceUrls = KUrl::List::fromMimeData(mimeData); + KUrl::List destUrls; + foreach (const KUrl& source, sourceUrls) { + KUrl destination(url().url() + "/" + source.fileName()); + destUrls << destination; + } + markUrlsAsSelected(destUrls); } void DolphinView::updateWritableState() -- 2.47.3