mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Keeping the Desktop and QML versions of Subsurface using the same codebase will keep the code saner, this change makes the Desktop version use the DCDeviceData helper sturct that encapsulates the device_data_t member for easy access on the QML. This also helped move a bit of initializations from the UI to the Core - and that's always good. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
87 lines
1.9 KiB
C++
87 lines
1.9 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef DOWNLOADFROMDIVECOMPUTER_H
|
|
#define DOWNLOADFROMDIVECOMPUTER_H
|
|
|
|
#include <QDialog>
|
|
#include <QThread>
|
|
#include <QHash>
|
|
#include <QMap>
|
|
#include <QAbstractTableModel>
|
|
|
|
#include "core/libdivecomputer.h"
|
|
#include "desktop-widgets/configuredivecomputerdialog.h"
|
|
#include "core/downloadfromdcthread.h"
|
|
|
|
#include "ui_downloadfromdivecomputer.h"
|
|
|
|
#if defined(BT_SUPPORT)
|
|
#include "btdeviceselectiondialog.h"
|
|
#endif
|
|
|
|
class QStringListModel;
|
|
class DiveImportedModel;
|
|
|
|
class DownloadFromDCWidget : public QDialog {
|
|
Q_OBJECT
|
|
public:
|
|
explicit DownloadFromDCWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);
|
|
void reject();
|
|
|
|
enum states {
|
|
INITIAL,
|
|
DOWNLOADING,
|
|
CANCELLING,
|
|
ERROR,
|
|
DONE,
|
|
};
|
|
|
|
public
|
|
slots:
|
|
void on_downloadCancelRetryButton_clicked();
|
|
void on_ok_clicked();
|
|
void on_cancel_clicked();
|
|
void on_search_clicked();
|
|
void on_vendor_currentIndexChanged(const QString &vendor);
|
|
void on_product_currentIndexChanged(const QString &product);
|
|
|
|
void onDownloadThreadFinished();
|
|
void updateProgressBar();
|
|
void checkLogFile(int state);
|
|
void checkDumpFile(int state);
|
|
void pickDumpFile();
|
|
void pickLogFile();
|
|
#if defined(BT_SUPPORT)
|
|
void enableBluetoothMode(int state);
|
|
void selectRemoteBluetoothDevice();
|
|
void bluetoothSelectionDialogIsFinished(int result);
|
|
#endif
|
|
private:
|
|
void markChildrenAsDisabled();
|
|
void markChildrenAsEnabled();
|
|
|
|
Ui::DownloadFromDiveComputer ui;
|
|
DownloadThread thread;
|
|
bool downloading;
|
|
|
|
int previousLast;
|
|
|
|
QStringListModel *vendorModel;
|
|
QStringListModel *productModel;
|
|
void fill_device_list(int dc_type);
|
|
QString logFile;
|
|
QString dumpFile;
|
|
QTimer *timer;
|
|
bool dumpWarningShown;
|
|
OstcFirmwareCheck *ostcFirmwareCheck;
|
|
DiveImportedModel *diveImportedModel;
|
|
#if defined(BT_SUPPORT)
|
|
BtDeviceSelectionDialog *btDeviceSelectionDialog;
|
|
#endif
|
|
|
|
public:
|
|
bool preferDownloaded();
|
|
void updateState(states state);
|
|
states currentState;
|
|
};
|
|
|
|
#endif // DOWNLOADFROMDIVECOMPUTER_H
|