aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui/downloadfromdivecomputer.h
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/downloadfromdivecomputer.h')
-rw-r--r--qt-ui/downloadfromdivecomputer.h43
1 files changed, 28 insertions, 15 deletions
diff --git a/qt-ui/downloadfromdivecomputer.h b/qt-ui/downloadfromdivecomputer.h
index 444c03e81..e10d61b38 100644
--- a/qt-ui/downloadfromdivecomputer.h
+++ b/qt-ui/downloadfromdivecomputer.h
@@ -15,20 +15,10 @@ struct device_data_t;
class DownloadThread : public QThread{
Q_OBJECT
public:
- explicit DownloadThread(device_data_t* data);
+ DownloadThread(QObject* parent, 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();
-
-signals:
- void updateInterface(int value);
+ QString error;
private:
device_data_t *data;
};
@@ -39,15 +29,32 @@ class DownloadFromDCWidget : public QDialog{
public:
explicit DownloadFromDCWidget(QWidget* parent = 0, Qt::WindowFlags f = 0);
static DownloadFromDCWidget *instance();
+ void reject();
+
+ enum states {
+ INITIAL,
+ DOWNLOADING,
+ CANCELLING,
+ CANCELLED,
+ ERROR,
+ DONE,
+ };
+
public slots:
void on_ok_clicked();
void on_cancel_clicked();
- void runDialog();
- void stoppedDownloading();
void on_vendor_currentIndexChanged(const QString& vendor);
+
+ void onDownloadThreadFinished();
+ void updateProgressBar();
+ void runDialog();
+
private:
+ void markChildrenAsDisabled();
+ void markChildrenAsEnabled();
+
Ui::DownloadFromDiveComputer *ui;
- InterfaceThread *thread;
+ DownloadThread *thread;
bool downloading;
QStringList vendorList;
@@ -58,8 +65,14 @@ private:
QStringListModel *vendorModel;
QStringListModel *productModel;
void fill_computer_list();
+
+ QTimer *timer;
+
public:
bool preferDownloaded();
+ void updateState(states state);
+ states currentState;
+
};
#endif