From f961ec7a8b399683b5b9aedc56827fa307511487 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sat, 2 May 2020 14:41:52 +0200 Subject: selection: introduce clear_selection() function The DiveListView would touch the selection-innards directly. Let's encapsulate that. Moreover, take care to reset the trip selection when resetting the core data. Signed-off-by: Berthold Stoeger --- desktop-widgets/divelistview.cpp | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'desktop-widgets') diff --git a/desktop-widgets/divelistview.cpp b/desktop-widgets/divelistview.cpp index f95afee25..8edcb0655 100644 --- a/desktop-widgets/divelistview.cpp +++ b/desktop-widgets/divelistview.cpp @@ -292,20 +292,9 @@ void DiveListView::selectTrip(dive_trip_t *trip) void DiveListView::unselectDives() { - // make sure we don't try to redraw the dives during the selection change - current_dive = nullptr; - amount_selected = 0; + clear_selection(); // clear the Qt selection selectionModel()->clearSelection(); - // clearSelection should emit selectionChanged() but sometimes that - // appears not to happen - // since we are unselecting all dives there is no need to use deselect_dive() - that - // would only cause pointless churn - int i; - struct dive *dive; - for_each_dive (i, dive) { - dive->selected = false; - } } // This function returns a trip if there is one selected trip or NULL. -- cgit v1.2.3-70-g09d2