[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kde-baseapps/KDE/4.9] dolphin/src/views: Fix Bug 217575 - Auto select pasted files doesn't select a
From:       Emmanuel Pescosta <emmanuelpescosta099 () gmail ! com>
Date:       2012-11-09 13:53:55
Message-ID: 20121109135355.02C33A6091 () git ! kde ! org
[Download RAW message or body]

Git commit b25059e803e7eed54f0593605a4066882d63bce2 by Emmanuel Pescosta.
Committed on 09/11/2012 at 14:52.
Pushed by emmanuelp into branch 'KDE/4.9'.

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

M  +6    -5    dolphin/src/views/dolphinview.cpp

http://commits.kde.org/kde-baseapps/b25059e803e7eed54f0593605a4066882d63bce2

diff --git a/dolphin/src/views/dolphinview.cpp b/dolphin/src/views/dolphinview.cpp
index 8e1a191..c4fe2d3 100644
--- a/dolphin/src/views/dolphinview.cpp
+++ b/dolphin/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();
     }
 }
 
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic