From d57134a03338de4230405081f2e22d196382d589 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafael=20Fern=C3=A1ndez=20L=C3=B3pez?= Date: Tue, 26 Jun 2007 00:31:30 +0000 Subject: [PATCH] Let deselect items individually using Ctrl+Click svn path=/trunk/KDE/kdebase/apps/; revision=680368 --- src/klistview.cpp | 13 +++++++++---- 1 file 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))) -- 2.47.3