mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
c7a5d0490f
This is the skeleton code for a non-blocking ui-thread It already creates the first-thread ( 'do not block the ui' ) and the second thread ('download from the dive computer') We can in the future merge both in the same place - I didn't want to do that now because the download function is written in the libdivecomputer.c code, and I cant just transform that to a QThread and use signals, so I used two threads for that. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
46 lines
No EOL
855 B
C++
46 lines
No EOL
855 B
C++
#ifndef DOWNLOADFROMDIVECOMPUTER_H
|
|
#define DOWNLOADFROMDIVECOMPUTER_H
|
|
#include <QDialog>
|
|
#include <QThread>
|
|
|
|
namespace Ui{
|
|
class DownloadFromDiveComputer;
|
|
}
|
|
struct device_data_t;
|
|
|
|
class DownloadThread : public QThread{
|
|
Q_OBJECT
|
|
public:
|
|
explicit DownloadThread(device_data_t* data);
|
|
virtual void run();
|
|
private:
|
|
device_data_t *data;
|
|
};
|
|
|
|
class InterfaceThread : public QThread{
|
|
Q_OBJECT
|
|
public:
|
|
InterfaceThread(QObject *parent, device_data_t *data) ;
|
|
virtual void run();
|
|
|
|
Q_SIGNALS:
|
|
void updateInterface(int value);
|
|
private:
|
|
device_data_t *data;
|
|
};
|
|
|
|
class DownloadFromDCWidget : public QDialog{
|
|
Q_OBJECT
|
|
public:
|
|
explicit DownloadFromDCWidget(QWidget* parent = 0, Qt::WindowFlags f = 0);
|
|
|
|
public slots:
|
|
void on_ok_clicked();
|
|
void on_cancel_clicked();
|
|
private:
|
|
Ui::DownloadFromDiveComputer *ui;
|
|
InterfaceThread *thread;
|
|
};
|
|
|
|
|
|
#endif |