diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2014-05-28 13:10:33 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-05-28 13:10:33 -0700 |
commit | fa705a5bc90553f9aea697ed9eb3881c482ad6df (patch) | |
tree | dd6af7835e6e5dda67600bdce4c6c47e31dffc5b | |
parent | 1e4f744165608d208690531d5ff5da558ccd31d2 (diff) | |
download | subsurface-fa705a5bc90553f9aea697ed9eb3881c482ad6df.tar.gz |
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 <dirk@hohndel.org>
-rw-r--r-- | qt-ui/divelistview.cpp | 13 |
1 files 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<int> divesOnTrip = getDivesInTrip(trip); QList<int> 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); } } |