┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Fernández López <[email protected]>2007-06-26 00:31:30 +0000
committerRafael Fernández López <[email protected]>2007-06-26 00:31:30 +0000
commitd57134a03338de4230405081f2e22d196382d589 (patch)
tree81baa4f6d50f57aa894041f7600c71d0d5f6a06d
parent289d854969fac9725453dc0fbafbf379451747d9 (diff)
Let deselect items individually using Ctrl+Click
svn path=/trunk/KDE/kdebase/apps/; revision=680368
-rw-r--r--src/klistview.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/klistview.cpp b/src/klistview.cpp
index 1729e1a80..206853530 100644
--- a/src/klistview.cpp
+++ b/src/klistview.cpp
@@ -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)))