mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 03:21:29 +00:00
31854f50a4
This patch disables/enables the DC device node based on what type of transport the selected DC uses. The only time the device node field is used is if the selected DC uses a serial transport type. IrDA and USB type transports do not use the device node. Signed-off-by: Benjamin Fogel <nystire@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
83 lines
1.6 KiB
C++
83 lines
1.6 KiB
C++
#ifndef DOWNLOADFROMDIVECOMPUTER_H
|
|
#define DOWNLOADFROMDIVECOMPUTER_H
|
|
|
|
#include <QDialog>
|
|
#include <QThread>
|
|
#include <QHash>
|
|
#include <QMap>
|
|
#include "../libdivecomputer.h"
|
|
#include "ui_downloadfromdivecomputer.h"
|
|
|
|
class DownloadThread : public QThread{
|
|
Q_OBJECT
|
|
public:
|
|
DownloadThread(QObject* parent, device_data_t* data);
|
|
virtual void run();
|
|
|
|
QString error;
|
|
private:
|
|
device_data_t *data;
|
|
};
|
|
|
|
class QStringListModel;
|
|
class DownloadFromDCWidget : public QDialog{
|
|
Q_OBJECT
|
|
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 on_vendor_currentIndexChanged(const QString& vendor);
|
|
void on_product_currentIndexChanged();
|
|
|
|
void onDownloadThreadFinished();
|
|
void updateProgressBar();
|
|
void runDialog();
|
|
void checkLogFile(int state);
|
|
void checkDumpFile(int state);
|
|
void pickDumpFile();
|
|
void pickLogFile();
|
|
|
|
private:
|
|
void markChildrenAsDisabled();
|
|
void markChildrenAsEnabled();
|
|
|
|
Ui::DownloadFromDiveComputer ui;
|
|
DownloadThread *thread;
|
|
bool downloading;
|
|
|
|
QStringList vendorList;
|
|
QHash<QString, QStringList> productList;
|
|
QMap<QString, dc_descriptor_t *> descriptorLookup;
|
|
device_data_t data;
|
|
int previousLast;
|
|
|
|
QStringListModel *vendorModel;
|
|
QStringListModel *productModel;
|
|
void fill_computer_list();
|
|
void fill_device_list();
|
|
QString logFile;
|
|
QString dumpFile;
|
|
QTimer *timer;
|
|
bool dumpWarningShown;
|
|
|
|
public:
|
|
bool preferDownloaded();
|
|
void updateState(states state);
|
|
states currentState;
|
|
|
|
};
|
|
|
|
#endif
|