From b6f821886b2ed29230d08357df5c09ee66f7cc8d Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sat, 16 Nov 2019 22:24:06 +0100 Subject: mobile: unify download code on mobile and desktop Use the undo-command for importing dives also on mobile. This should make the whole disconnect-model shenigans unnecessary. Signed-off-by: Berthold Stoeger --- desktop-widgets/downloadfromdivecomputer.cpp | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) (limited to 'desktop-widgets') diff --git a/desktop-widgets/downloadfromdivecomputer.cpp b/desktop-widgets/downloadfromdivecomputer.cpp index a14a8a665..cf3aad492 100644 --- a/desktop-widgets/downloadfromdivecomputer.cpp +++ b/desktop-widgets/downloadfromdivecomputer.cpp @@ -525,26 +525,13 @@ void DownloadFromDCWidget::on_ok_clicked() if (currentState != DONE && currentState != ERRORED) return; - // delete non-selected dives - diveImportedModel->deleteDeselected(); - - // TODO: use structured bindings once we go C++17 - std::pair tables = diveImportedModel->consumeTables(); - if (tables.first.nr > 0) { - auto data = diveImportedModel->thread.data(); - int flags = IMPORT_IS_DOWNLOADED; - if (preferDownloaded()) - flags |= IMPORT_PREFER_IMPORTED; - if (ui.createNewTrip->isChecked()) - flags |= IMPORT_ADD_TO_NEW_TRIP; - Command::importDives(&tables.first, nullptr, &tables.second, flags, data->devName()); - } else { - clear_dive_site_table(&tables.second); - } - // The dives and dive sites have been consumed, but the arrays of the tables - // still exist. Free them. - free(tables.first.dives); - free(tables.second.dive_sites); + int flags = IMPORT_IS_DOWNLOADED; + if (preferDownloaded()) + flags |= IMPORT_PREFER_IMPORTED; + if (ui.createNewTrip->isChecked()) + flags |= IMPORT_ADD_TO_NEW_TRIP; + + diveImportedModel->recordDives(flags); if (ostcFirmwareCheck && currentState == DONE) ostcFirmwareCheck->checkLatest(this, diveImportedModel->thread.data()->internalData()); -- cgit v1.2.3-70-g09d2