summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2017-11-01 08:01:23 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2017-11-01 07:13:47 -0700
commitd23bd46a1be2dfb25293639abcf06b5b4d4b94df (patch)
treeac0d6ae872dfdd45b29f7619c27c2d3e82bf9363
parent31e11bc4e83d4d0c407c27cc0abd26b017441c49 (diff)
downloadsubsurface-d23bd46a1be2dfb25293639abcf06b5b4d4b94df.tar.gz
Reset device field in DownloadFromDCWidget according to dive computer
Fixes minor interface inconsistency: The device field in the download-from-dive-computer widget is disabled when selecting a non-serial-transport dive computer. In contrast, post-download the field was reset to enabled for all dive computers. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r--desktop-widgets/downloadfromdivecomputer.cpp31
-rw-r--r--desktop-widgets/downloadfromdivecomputer.h1
2 files changed, 19 insertions, 13 deletions
diff --git a/desktop-widgets/downloadfromdivecomputer.cpp b/desktop-widgets/downloadfromdivecomputer.cpp
index b875b4a76..3b551edef 100644
--- a/desktop-widgets/downloadfromdivecomputer.cpp
+++ b/desktop-widgets/downloadfromdivecomputer.cpp
@@ -258,18 +258,7 @@ void DownloadFromDCWidget::on_vendor_currentIndexChanged(const QString &vendor)
void DownloadFromDCWidget::on_product_currentIndexChanged(const QString &product)
{
- // Set up the DC descriptor
- dc_descriptor_t *descriptor = NULL;
- descriptor = descriptorLookup[ui.vendor->currentText() + product];
-
- // call dc_descriptor_get_transport to see if the dc_transport_t is DC_TRANSPORT_SERIAL
- if (dc_descriptor_get_transport(descriptor) == DC_TRANSPORT_SERIAL) {
- // if the dc_transport_t is DC_TRANSPORT_SERIAL, then enable the device node box.
- ui.device->setEnabled(true);
- } else {
- // otherwise disable the device node box
- ui.device->setEnabled(false);
- }
+ updateDeviceEnabled();
}
void DownloadFromDCWidget::on_search_clicked()
@@ -489,6 +478,22 @@ void DownloadFromDCWidget::on_ok_clicked()
accept();
}
+void DownloadFromDCWidget::updateDeviceEnabled()
+{
+ // Set up the DC descriptor
+ dc_descriptor_t *descriptor = NULL;
+ descriptor = descriptorLookup[ui.vendor->currentText() + ui.product->currentText()];
+
+ // call dc_descriptor_get_transport to see if the dc_transport_t is DC_TRANSPORT_SERIAL
+ if (dc_descriptor_get_transport(descriptor) == DC_TRANSPORT_SERIAL) {
+ // if the dc_transport_t is DC_TRANSPORT_SERIAL, then enable the device node box.
+ ui.device->setEnabled(true);
+ } else {
+ // otherwise disable the device node box
+ ui.device->setEnabled(false);
+ }
+}
+
void DownloadFromDCWidget::markChildrenAsDisabled()
{
ui.device->setEnabled(false);
@@ -511,7 +516,7 @@ void DownloadFromDCWidget::markChildrenAsDisabled()
void DownloadFromDCWidget::markChildrenAsEnabled()
{
- ui.device->setEnabled(true);
+ updateDeviceEnabled();
ui.vendor->setEnabled(true);
ui.product->setEnabled(true);
ui.forceDownload->setEnabled(true);
diff --git a/desktop-widgets/downloadfromdivecomputer.h b/desktop-widgets/downloadfromdivecomputer.h
index 6365aa332..a004215a0 100644
--- a/desktop-widgets/downloadfromdivecomputer.h
+++ b/desktop-widgets/downloadfromdivecomputer.h
@@ -58,6 +58,7 @@ slots:
private:
void markChildrenAsDisabled();
void markChildrenAsEnabled();
+ void updateDeviceEnabled();
Ui::DownloadFromDiveComputer ui;
DownloadThread thread;