From fa705a5bc90553f9aea697ed9eb3881c482ad6df Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Wed, 28 May 2014 13:10:33 -0700 Subject: Dive list: use helper function when restoring selection Looping over the individual dives will be very slow if there are many of them, as the profile will try to render each of them in succession. Signed-off-by: Dirk Hohndel --- qt-ui/divelistview.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp index 45141bfe1..a6cca47b6 100644 --- a/qt-ui/divelistview.cpp +++ b/qt-ui/divelistview.cpp @@ -156,17 +156,10 @@ void DiveListView::restoreSelection() QList divesOnTrip = getDivesInTrip(trip); QList selectedDivesOnTrip = selectedDives.values(trip); - // Trip was not selected, let's select single-dives. - if (trip == NULL || divesOnTrip.count() != selectedDivesOnTrip.count()) { - Q_FOREACH (int i, selectedDivesOnTrip) { - selectDive(i); - } - } else { + // Only select trip if all of its dives were selected + if (trip != NULL && divesOnTrip.count() == selectedDivesOnTrip.count()) selectTrip(trip); - Q_FOREACH (int i, selectedDivesOnTrip) { - selectDive(i); - } - } + selectDives(selectedDivesOnTrip); } } -- cgit v1.2.3-70-g09d2