]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Let deselect items individually using Ctrl+Click
authorRafael Fernández López <ereslibre@kde.org>
Tue, 26 Jun 2007 00:31:30 +0000 (00:31 +0000)
committerRafael Fernández López <ereslibre@kde.org>
Tue, 26 Jun 2007 00:31:30 +0000 (00:31 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=680368

src/klistview.cpp

index 1729e1a80f65e43498fc84fd1172500f9a242f2f..206853530efcede4ada4e890d2dc90fda9273351 100644 (file)
@@ -699,6 +699,7 @@ void KListView::setSelection(const QRect &rect,
     }
 
     QItemSelection selection;
+    QItemSelection deselect;
     QModelIndexList dirtyIndexes = d->intersectionSet(rect);
     foreach (const QModelIndex &index, dirtyIndexes)
     {
@@ -707,9 +708,15 @@ void KListView::setSelection(const QRect &rect,
             if (d->isIndexSelected.contains(index))
             {
                 if (!d->isIndexSelected[index])
+                {
                     selection.select(index, index);
-
-                d->isIndexSelected[index] = true;
+                    d->isIndexSelected[index] = true;
+                }
+                else
+                {
+                    deselect.select(index, index);
+                    d->isIndexSelected[index] = false;
+                }
             }
             else
             {
@@ -747,8 +754,6 @@ void KListView::setSelection(const QRect &rect,
         }
     }
 
-    QItemSelection deselect;
-
     foreach (const QModelIndex &index, d->isIndexSelected.keys())
     {
         if (!rect.intersects(visualRect(index)))