Import: Make DownloadThread a subobject of DiveImportedModel

Currently, desktop and mobile are accessing the DownloadThread
and the DiveImportedModel concurrently. This makes a big data
flow mess. To achieve a more hierarchical data flow, start
by making the DownloadThread a subobject of DiveImportedModel.

Start the download by calling a function in DiveImportedModel.

Route the finished signal through DiveImportedModel. Thus,
the model can reload itself with the new data.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-09-25 20:49:13 +02:00 committed by Dirk Hohndel
parent 6e343c734a
commit ad7ffa0af0
5 changed files with 45 additions and 33 deletions

View file

@ -11,7 +11,6 @@
#include "core/libdivecomputer.h"
#include "desktop-widgets/configuredivecomputerdialog.h"
#include "core/downloadfromdcthread.h"
#include "ui_downloadfromdivecomputer.h"
@ -21,6 +20,7 @@
class QStringListModel;
class DiveImportedModel;
class BTDiscovery;
class DownloadFromDCWidget : public QDialog {
Q_OBJECT
@ -72,7 +72,6 @@ private:
QStringListModel vendorModel;
QStringListModel productModel;
Ui::DownloadFromDiveComputer ui;
DownloadThread thread;
bool downloading;
int previousLast;