From eaa4e5948ab8506a2a6126a574922b011146d7b7 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Mon, 19 May 2014 14:25:35 +0900 Subject: Make the code easier to read This uses the new helper function from commit fc4f133f19d0 ("Add new helper function that looks up the index of a dive by its uniq ID") to make the logic implemented in commit 122593a63a46 ("Fix selection after downloading dives from the dive computer") much saner to read. Signed-off-by: Dirk Hohndel --- qt-ui/downloadfromdivecomputer.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/qt-ui/downloadfromdivecomputer.cpp b/qt-ui/downloadfromdivecomputer.cpp index a341a0c37..9760d1107 100644 --- a/qt-ui/downloadfromdivecomputer.cpp +++ b/qt-ui/downloadfromdivecomputer.cpp @@ -383,22 +383,17 @@ void DownloadFromDCWidget::onDownloadThreadFinished() for (int i = dive_table.nr - 1; i >= previousLast; i--) delete_single_dive(i); } else if (dive_table.nr) { - int i; - struct dive *d; + int uniqId, idx; // remember the last downloaded dive (on most dive computers this will be the chronologically // first new dive) and select it again after processing all the dives MainWindow::instance()->dive_list()->unselectDives(); - get_dive(dive_table.nr - 1)->selected = true; + uniqId = get_dive(dive_table.nr - 1)->id; process_dives(true, preferDownloaded()); // after process_dives does any merging or resorting needed, we need // to recreate the model for the dive list so we can select the newest dive MainWindow::instance()->recreateDiveList(); - for_each_dive(i, d) { - if (d->selected) - break; - } - d->selected = false; - MainWindow::instance()->dive_list()->selectDive(i, true); + idx = get_idx_by_uniq_id(uniqId); + MainWindow::instance()->dive_list()->selectDive(idx, true); } } else if (currentState == CANCELLING || currentState == CANCELLED){ if (import_thread_cancelled) { -- cgit v1.2.3-70-g09d2