diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2017-11-01 08:01:23 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-11-01 07:13:47 -0700 |
commit | d23bd46a1be2dfb25293639abcf06b5b4d4b94df (patch) | |
tree | ac0d6ae872dfdd45b29f7619c27c2d3e82bf9363 | |
parent | 31e11bc4e83d4d0c407c27cc0abd26b017441c49 (diff) | |
download | subsurface-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.cpp | 31 | ||||
-rw-r--r-- | desktop-widgets/downloadfromdivecomputer.h | 1 |
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; |