subsurface/qt-ui/downloadfromdivecomputer.h
Dirk Hohndel 246fbd0333 Implement rudimentary divecomputer download
Small changes to the names of elements the divecomputer download UI and
very simplistic first stab at populating the device_data_t structure.

This is lacking lots of things
- it should remember the last vendor / product used
- it should figure out which device (mount point) to offer
- it needs proper error handling

But it's a step in the right direction.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-20 21:55:56 -07:00

62 lines
1.2 KiB
C++

#ifndef DOWNLOADFROMDIVECOMPUTER_H
#define DOWNLOADFROMDIVECOMPUTER_H
#include <QDialog>
#include <QThread>
#include <QHash>
#include <QMap>
#include "../libdivecomputer.h"
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 QStringListModel;
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();
void on_vendor_currentIndexChanged(const QString& vendor);
private:
Ui::DownloadFromDiveComputer *ui;
InterfaceThread *thread;
bool downloading;
QStringList vendorList;
QHash<QString, QStringList> productList;
QMap<QString, dc_descriptor_t *> descriptorLookup;
device_data_t data;
QStringListModel *vendorModel;
QStringListModel *productModel;
void fill_computer_list();
};
#endif