From 6a6b992a7767c2ab4eee83a23d0c17caf979f66f Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 13 Oct 2019 00:01:44 +0200 Subject: Desktop: make salinity a field known to the undo system The undo system sets updates individual dive fields on redo respectively undo. Make salinity such a field, since it is changed on replanning a dive. To do this, break out the "update salinity" functionality into its own function, add an entry to the DiveField enum and add the corresponding switch-case. Signed-off-by: Berthold Stoeger --- desktop-widgets/tab-widgets/TabDiveInformation.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'desktop-widgets/tab-widgets/TabDiveInformation.cpp') diff --git a/desktop-widgets/tab-widgets/TabDiveInformation.cpp b/desktop-widgets/tab-widgets/TabDiveInformation.cpp index 492ba97a7..66c1f7401 100644 --- a/desktop-widgets/tab-widgets/TabDiveInformation.cpp +++ b/desktop-widgets/tab-widgets/TabDiveInformation.cpp @@ -106,6 +106,14 @@ void TabDiveInformation::updateWhen() ui->surfaceIntervalText->clear(); } +void TabDiveInformation::updateSalinity() +{ + if (current_dive->salinity) + ui->salinityText->setText(QString("%1g/ℓ").arg(current_dive->salinity / 10.0)); + else + ui->salinityText->clear(); +} + void TabDiveInformation::updateData() { if (!current_dive) { @@ -117,11 +125,7 @@ void TabDiveInformation::updateData() updateWhen(); ui->waterTemperatureText->setText(get_temperature_string(current_dive->watertemp, true)); ui->airTemperatureText->setText(get_temperature_string(current_dive->airtemp, true)); - - if (current_dive->salinity) - ui->salinityText->setText(QString("%1g/ℓ").arg(current_dive->salinity / 10.0)); - else - ui->salinityText->clear(); + updateSalinity(); ui->atmPressType->setEditable(true); ui->atmPressType->setItemText(1, get_depth_unit()); // Check for changes in depth unit (imperial/metric) @@ -155,6 +159,9 @@ void TabDiveInformation::divesChanged(const QVector &dives, DiveField fi case DiveField::DATETIME: updateWhen(); break; + case DiveField::SALINITY: + updateSalinity(); + break; default: break; } -- cgit v1.2.3-70-g09d2