┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/dolphinview.cpp
diff options
context:
space:
mode:
authorEmmanuel Pescosta <[email protected]>2012-11-09 14:52:32 +0100
committerEmmanuel Pescosta <[email protected]>2012-11-09 14:52:32 +0100
commitce1bdf40cf6f8c9b6c7d330df91cd79947617212 (patch)
tree689248e49657159208645ea7fa5950101a6f3ec2 /src/views/dolphinview.cpp
parent9aacd610a37f5d03c7dbd9ce712985c477578893 (diff)
Fix Bug 217575 - Auto select pasted files doesn't select all files if some have been skipped
BUG: 217575 REVIEW: 107237 FIXED-IN: 4.9.4
Diffstat (limited to 'src/views/dolphinview.cpp')
-rw-r--r--src/views/dolphinview.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index 8e1a19108..c4fe2d330 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -598,6 +598,8 @@ void DolphinView::setUrl(const KUrl& url)
return;
}
+ clearSelection();
+
emit urlAboutToBeChanged(url);
m_url = url;
@@ -628,6 +630,7 @@ void DolphinView::invertSelection()
void DolphinView::clearSelection()
{
+ m_selectedUrls.clear();
m_container->controller()->selectionManager()->clearSelection();
}
@@ -1211,20 +1214,18 @@ void DolphinView::updateViewState()
}
if (!m_selectedUrls.isEmpty()) {
- clearSelection();
-
KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager();
QSet<int> selectedItems = selectionManager->selectedItems();
- foreach (const KUrl& url, m_selectedUrls) {
- const int index = m_model->index(url);
+ for (QList<KUrl>::iterator it = m_selectedUrls.begin(); it != m_selectedUrls.end(); ++it) {
+ const int index = m_model->index(*it);
if (index >= 0) {
selectedItems.insert(index);
+ m_selectedUrls.erase(it);
}
}
selectionManager->setSelectedItems(selectedItems);
- m_selectedUrls.clear();
}
}