From: Rafael Fernández López Date: Tue, 26 Jun 2007 00:31:30 +0000 (+0000) Subject: Let deselect items individually using Ctrl+Click X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/d57134a03338de4230405081f2e22d196382d589 Let deselect items individually using Ctrl+Click svn path=/trunk/KDE/kdebase/apps/; revision=680368 --- 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)))