diff options
Diffstat (limited to 'qt-ui/downloadfromdivecomputer.h')
-rw-r--r-- | qt-ui/downloadfromdivecomputer.h | 43 |
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 |