summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Claudiu Olteanu <olteanu.claudiu@ymail.com>2015-09-06 23:59:28 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-09-07 07:29:15 -0700
commit9e97f124c6b5fe4f50ff188f8470c0a5c5cce6b7 (patch)
tree21b59c516c827a6cbfb2015b9b97e18b52aeff46
parent384ab944f26351a64452852a5542ced9f620e261 (diff)
downloadsubsurface-9e97f124c6b5fe4f50ff188f8470c0a5c5cce6b7.tar.gz
Save Bluetooth download mode settings
Save the dive computer download mode flag. In this way, if the user used Bluetooth mode to download its dives on his last session he doesn't need to open the Bth selection dialog if he wants to use the same device. Signed-off-by: Claudiu Olteanu <olteanu.claudiu@ymail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-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));