diff options
| author | Dawit Alemayehu <[email protected]> | 2012-11-10 16:28:36 -0500 |
|---|---|---|
| committer | Dawit Alemayehu <[email protected]> | 2012-11-10 16:28:36 -0500 |
| commit | b85d46b8383f969518684faae5e1dee2c88c629b (patch) | |
| tree | bfe2dd97e968e26319840e42320938f8e18cba9e /src/views/dolphinview.cpp | |
| parent | 15faff457dd5ff609b3d6d824e0366beae1abe28 (diff) | |
| parent | ce1bdf40cf6f8c9b6c7d330df91cd79947617212 (diff) | |
Merge remote-tracking branch 'origin/KDE/4.9'
Diffstat (limited to 'src/views/dolphinview.cpp')
| -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 e2ccc7ff1..df49634d4 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -599,6 +599,8 @@ void DolphinView::setUrl(const KUrl& url) return; } + clearSelection(); + emit urlAboutToBeChanged(url); m_url = url; @@ -629,6 +631,7 @@ void DolphinView::invertSelection() void DolphinView::clearSelection() { + m_selectedUrls.clear(); m_container->controller()->selectionManager()->clearSelection(); } @@ -1220,20 +1223,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(); } } |
