diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-06-23 11:13:41 +0200 |
---|---|---|
committer | bstoeger <32835590+bstoeger@users.noreply.github.com> | 2019-06-23 20:08:46 +0200 |
commit | e1abf9485cf59f1b8cb79d827fa386af48f095a4 (patch) | |
tree | 6e4c7d0fd30402622f3264c7e6e57de279d11f2e /desktop-widgets/divelistview.cpp | |
parent | 27944a52b1c2a1c68ccfe88c4a84d3f74fb8b512 (diff) | |
download | subsurface-e1abf9485cf59f1b8cb79d827fa386af48f095a4.tar.gz |
Undo: unify selection behavior in dive-list commands
Some commands tried to retain the current selection on undo/redo,
others set the selection to the modified dives.
The latter was introduced because it was easier in some cases, but
it is probably more user-friendly because the user gets feedback
on the change.
Therefore, unify to always select the affected dives on undo()/redo().
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/divelistview.cpp')
-rw-r--r-- | desktop-widgets/divelistview.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/desktop-widgets/divelistview.cpp b/desktop-widgets/divelistview.cpp index 055737252..c010c0010 100644 --- a/desktop-widgets/divelistview.cpp +++ b/desktop-widgets/divelistview.cpp @@ -192,13 +192,11 @@ void DiveListView::reset() } // If items were selected, inform the selection model -void DiveListView::diveSelectionChanged(const QVector<QModelIndex> &indexes, bool select) +void DiveListView::diveSelectionChanged(const QVector<QModelIndex> &indexes) { + clearSelection(); MultiFilterSortModel *m = MultiFilterSortModel::instance(); QItemSelectionModel *s = selectionModel(); - auto flags = select ? - QItemSelectionModel::Rows | QItemSelectionModel::Select : - QItemSelectionModel::Rows | QItemSelectionModel::Deselect; for (const QModelIndex &index: indexes) { // We have to transform the indices into local indices, since // there might be sorting or filtering in effect. @@ -210,10 +208,10 @@ void DiveListView::diveSelectionChanged(const QVector<QModelIndex> &indexes, boo if (!localIndex.isValid()) continue; - s->select(localIndex, flags); + s->select(localIndex, QItemSelectionModel::Rows | QItemSelectionModel::Select); // If an item of a not-yet expanded trip is selected, expand the trip. - if (select && localIndex.parent().isValid() && !isExpanded(localIndex.parent())) { + if (localIndex.parent().isValid() && !isExpanded(localIndex.parent())) { setAnimated(false); expand(localIndex.parent()); setAnimated(true); |