mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-17 22:16:16 +00:00
This is important to not duplicate code for the Qml view. Now the DownloadFromDiveComputer widget is mostly free from important code (that has been upgraded to the core folder), and I can start coding the QML interface. There are still a few functions on the desktop widget that will die so I can call them via the QML code later. I also touched the location of a few globals (please, let's stop using those) - because it was declared on the desktop code and being used in the core. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
36 lines
825 B
C++
36 lines
825 B
C++
#include "downloadfromdcthread.h"
|
|
#include "core/libdivecomputer.h"
|
|
|
|
static QString str_error(const char *fmt, ...)
|
|
{
|
|
va_list args;
|
|
va_start(args, fmt);
|
|
const QString str = QString().vsprintf(fmt, args);
|
|
va_end(args);
|
|
|
|
return str;
|
|
}
|
|
|
|
DownloadThread::DownloadThread(QObject *parent, device_data_t *data) : QThread(parent),
|
|
data(data)
|
|
{
|
|
data->download_table = nullptr;
|
|
}
|
|
|
|
void DownloadThread::setDiveTable(struct dive_table* table)
|
|
{
|
|
data->download_table = table;
|
|
}
|
|
|
|
void DownloadThread::run()
|
|
{
|
|
Q_ASSERT(data->download_table != nullptr);
|
|
const char *errorText;
|
|
import_thread_cancelled = false;
|
|
if (!strcmp(data->vendor, "Uemis"))
|
|
errorText = do_uemis_import(data);
|
|
else
|
|
errorText = do_libdivecomputer_import(data);
|
|
if (errorText)
|
|
error = str_error(errorText, data->devname, data->vendor, data->product);
|
|
}
|