diff options
| author | Emmanuel Pescosta <[email protected]> | 2012-11-09 14:52:32 +0100 |
|---|---|---|
| committer | Emmanuel Pescosta <[email protected]> | 2012-11-09 14:52:32 +0100 |
| commit | ce1bdf40cf6f8c9b6c7d330df91cd79947617212 (patch) | |
| tree | 689248e49657159208645ea7fa5950101a6f3ec2 /src | |
| parent | 9aacd610a37f5d03c7dbd9ce712985c477578893 (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')
| -rw-r--r-- | src/views/dolphinview.cpp | 11 |
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(); } } |
