diff options
| author | Rafael Fernández López <[email protected]> | 2007-06-26 00:31:30 +0000 |
|---|---|---|
| committer | Rafael Fernández López <[email protected]> | 2007-06-26 00:31:30 +0000 |
| commit | d57134a03338de4230405081f2e22d196382d589 (patch) | |
| tree | 81baa4f6d50f57aa894041f7600c71d0d5f6a06d | |
| parent | 289d854969fac9725453dc0fbafbf379451747d9 (diff) | |
Let deselect items individually using Ctrl+Click
svn path=/trunk/KDE/kdebase/apps/; revision=680368
| -rw-r--r-- | src/klistview.cpp | 13 |
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))) |
