From 51471317011bef1b6e51a42951f61073bb8be905 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sat, 2 May 2020 17:57:31 +0200 Subject: selection: inform core of trip selection in DiveListView When selecting / deselecting trips, keep the core updated. Signed-off-by: Berthold Stoeger --- desktop-widgets/divelistview.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'desktop-widgets/divelistview.cpp') diff --git a/desktop-widgets/divelistview.cpp b/desktop-widgets/divelistview.cpp index 8edcb0655..3e1ec6baa 100644 --- a/desktop-widgets/divelistview.cpp +++ b/desktop-widgets/divelistview.cpp @@ -554,10 +554,13 @@ void DiveListView::selectionChanged(const QItemSelection &selected, const QItemS continue; const QAbstractItemModel *model = index.model(); struct dive *dive = model->data(index, DiveTripModelBase::DIVE_ROLE).value(); - if (!dive) // it's a trip! - deselect_dives_in_trip(model->data(index, DiveTripModelBase::TRIP_ROLE).value()); - else + if (!dive) { // it's a trip! + dive_trip *trip = model->data(index, DiveTripModelBase::TRIP_ROLE).value(); + deselect_trip(trip); + deselect_dives_in_trip(trip); + } else { deselect_dive(dive); + } } Q_FOREACH (const QModelIndex &index, newSelected.indexes()) { if (index.column() != 0) @@ -566,9 +569,11 @@ void DiveListView::selectionChanged(const QItemSelection &selected, const QItemS const QAbstractItemModel *model = index.model(); struct dive *dive = model->data(index, DiveTripModelBase::DIVE_ROLE).value(); if (!dive) { // it's a trip! + dive_trip *trip = model->data(index, DiveTripModelBase::TRIP_ROLE).value(); + select_trip(trip); + select_dives_in_trip(trip); if (model->rowCount(index)) { QItemSelection selection; - select_dives_in_trip(model->data(index, DiveTripModelBase::TRIP_ROLE).value()); selection.select(index.child(0, 0), index.child(model->rowCount(index) - 1, 0)); selectionModel()->select(selection, QItemSelectionModel::Select | QItemSelectionModel::Rows); selectionModel()->setCurrentIndex(index, QItemSelectionModel::Select | QItemSelectionModel::NoUpdate); -- cgit v1.2.3-70-g09d2