summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/divelistview.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-06-23 11:13:41 +0200
committerGravatar bstoeger <32835590+bstoeger@users.noreply.github.com>2019-06-23 20:08:46 +0200
commite1abf9485cf59f1b8cb79d827fa386af48f095a4 (patch)
tree6e4c7d0fd30402622f3264c7e6e57de279d11f2e /desktop-widgets/divelistview.cpp
parent27944a52b1c2a1c68ccfe88c4a84d3f74fb8b512 (diff)
downloadsubsurface-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.cpp10
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);