summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--display.h2
-rw-r--r--divecomputer.cpp11
-rw-r--r--helpers.h1
-rw-r--r--qt-ui/downloadfromdivecomputer.cpp5
-rw-r--r--qt-ui/mainwindow.cpp1
5 files changed, 17 insertions, 3 deletions
diff --git a/display.h b/display.h
index 3ce0d4f29..59dd97ef4 100644
--- a/display.h
+++ b/display.h
@@ -53,7 +53,7 @@ int enumerate_devices(device_callback_t callback, void *userdata, int dc_type);
extern const char *default_dive_computer_vendor;
extern const char *default_dive_computer_product;
extern const char *default_dive_computer_device;
-
+extern int default_dive_computer_download_mode;
#define AMB_PERCENTAGE 50.0
#ifdef __cplusplus
diff --git a/divecomputer.cpp b/divecomputer.cpp
index ac43bd00b..b45b74a44 100644
--- a/divecomputer.cpp
+++ b/divecomputer.cpp
@@ -6,6 +6,7 @@
const char *default_dive_computer_vendor;
const char *default_dive_computer_product;
const char *default_dive_computer_device;
+int default_dive_computer_download_mode;
DiveComputerList dcList;
DiveComputerList::DiveComputerList()
@@ -172,6 +173,16 @@ void set_default_dive_computer_device(const char *name)
s.endGroup();
}
+void set_default_dive_computer_download_mode(int download_mode)
+{
+ QSettings s;
+
+ default_dive_computer_download_mode = download_mode;
+ s.beginGroup("DiveComputer");
+ s.setValue("dive_computer_download_mode", download_mode);
+ s.endGroup();
+}
+
extern "C" void set_dc_nickname(struct dive *dive)
{
if (!dive)
diff --git a/helpers.h b/helpers.h
index 47dccb90e..6c5c31c7d 100644
--- a/helpers.h
+++ b/helpers.h
@@ -25,6 +25,7 @@ QString get_pressure_string(pressure_t pressure, bool showunit = false);
QString get_pressure_unit();
void set_default_dive_computer(const char *vendor, const char *product);
void set_default_dive_computer_device(const char *name);
+void set_default_dive_computer_download_mode(int downloadMode);
QString getSubsurfaceDataPath(QString folderToFind);
extern const QString get_dc_nickname(const char *model, uint32_t deviceid);
int gettimezoneoffset(timestamp_t when = 0);
diff --git a/qt-ui/downloadfromdivecomputer.cpp b/qt-ui/downloadfromdivecomputer.cpp
index 92f245506..63866d420 100644
--- a/qt-ui/downloadfromdivecomputer.cpp
+++ b/qt-ui/downloadfromdivecomputer.cpp
@@ -102,6 +102,7 @@ DownloadFromDCWidget::DownloadFromDCWidget(QWidget *parent, Qt::WindowFlags f) :
#if defined(BT_SUPPORT)
ui.bluetoothMode->setText(tr("Choose Bluetooth download mode"));
+ ui.bluetoothMode->setChecked(default_dive_computer_download_mode == DC_TRANSPORT_BLUETOOTH);
btDeviceSelectionDialog = 0;
ui.chooseBluetoothDevice->setEnabled(ui.bluetoothMode->isChecked());
connect(ui.bluetoothMode, SIGNAL(stateChanged(int)), this, SLOT(enableBluetoothMode(int)));
@@ -321,7 +322,7 @@ void DownloadFromDCWidget::on_downloadCancelRetryButton_clicked()
data.product = strdup(ui.product->currentText().toUtf8().data());
#if defined(BT_SUPPORT)
data.bluetooth_mode = ui.bluetoothMode->isChecked();
- if (data.bluetooth_mode) {
+ if (data.bluetooth_mode && btDeviceSelectionDialog != NULL) {
// Get the selected device address
data.devname = strdup(btDeviceSelectionDialog->getSelectedDeviceAddress().toUtf8().data());
} else
@@ -346,7 +347,7 @@ void DownloadFromDCWidget::on_downloadCancelRetryButton_clicked()
data.deviceid = data.diveid = 0;
set_default_dive_computer(data.vendor, data.product);
set_default_dive_computer_device(data.devname);
-
+ set_default_dive_computer_download_mode(ui.bluetoothMode->isChecked() ? DC_TRANSPORT_BLUETOOTH : DC_TRANSPORT_SERIAL);
thread = new DownloadThread(this, &data);
connect(thread, SIGNAL(finished()),
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index b19a23026..4b186ed69 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -1127,6 +1127,7 @@ void MainWindow::readSettings()
default_dive_computer_vendor = getSetting(s, "dive_computer_vendor");
default_dive_computer_product = getSetting(s, "dive_computer_product");
default_dive_computer_device = getSetting(s, "dive_computer_device");
+ default_dive_computer_download_mode = s.value("dive_computer_download_mode").toInt();
s.endGroup();
QNetworkProxy proxy;
proxy.setType(QNetworkProxy::ProxyType(prefs.proxy_type));