diff options
Diffstat (limited to 'src/klistview.cpp')
| -rw-r--r-- | src/klistview.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/klistview.cpp b/src/klistview.cpp index 4fe0f571f..a67fc79a3 100644 --- a/src/klistview.cpp +++ b/src/klistview.cpp @@ -826,7 +826,18 @@ void KListView::mouseReleaseEvent(QMouseEvent *event) { index = d->proxyModel->mapFromSource(mappedIndex); - selection.select(index, index); + if (d->isIndexSelected.contains(index)) + { + if (!d->isIndexSelected[index]) + selection.select(index, index); + + d->isIndexSelected[index] = true; + } + else + { + d->isIndexSelected.insert(index, true); + selection.select(index, index); + } } selectionModel()->select(selection, QItemSelectionModel::Toggle); |
