mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-29 13:40:20 +00:00
270e9eccad
This removes some special-case code for Uemis, replacing it with simply passing in the device transport information. This makes device enumeration work for the Garmin Descent (if it is listed by libdivecomputer as a USB storage device, that is). I don't actually do any of the libdivecomputer parsing yet, and only have a stub for the Garmin Descent, but now the directory selection works with that stub. The actual download obviously does not. [Dirk Hohndel: removed obsolete FIXME from code] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
86 lines
1.9 KiB
C++
86 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();
|
|
void updateDeviceEnabled();
|
|
|
|
QStringListModel vendorModel;
|
|
QStringListModel productModel;
|
|
Ui::DownloadFromDiveComputer ui;
|
|
DownloadThread thread;
|
|
bool downloading;
|
|
|
|
int previousLast;
|
|
|
|
void fill_device_list(unsigned int transport);
|
|
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
|