mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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 <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
d16d57577d
commit
6a6b992a77
3 changed files with 14 additions and 5 deletions
|
@ -28,6 +28,7 @@ enum class DiveField {
|
|||
TAGS,
|
||||
MODE,
|
||||
NOTES,
|
||||
SALINITY
|
||||
};
|
||||
enum class TripField {
|
||||
LOCATION,
|
||||
|
|
|
@ -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<dive *> &dives, DiveField fi
|
|||
case DiveField::DATETIME:
|
||||
updateWhen();
|
||||
break;
|
||||
case DiveField::SALINITY:
|
||||
updateSalinity();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ private slots:
|
|||
private:
|
||||
Ui::TabDiveInformation *ui;
|
||||
void updateProfile();
|
||||
void updateSalinity();
|
||||
void updateWhen();
|
||||
int pressTypeIndex;
|
||||
void updateTextBox(int event);
|
||||
|
|
Loading…
Add table
Reference in a new issue