mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Desktop: Fix Inconsistencies in Handling of Salinity.
- add correct setting of the water type drop down for the dive shown initially after program start; - change salinity to have 3 decimals in planner, to make it consistency with the log. Fixes #4240. Reported-by: @ccsieh Signed-off-by: Michael Keller <github@ike.ch>
This commit is contained in:
parent
10fc3bfd47
commit
b126fccb1b
3 changed files with 9 additions and 9 deletions
|
@ -185,13 +185,12 @@ void DivePlannerWidget::heightChanged(const int height)
|
|||
|
||||
void DivePlannerWidget::waterTypeUpdateTexts()
|
||||
{
|
||||
double density;
|
||||
/* Do not set text in last/custom element */
|
||||
for (int i = 0; i < ui.waterType->count()-1; i++) {
|
||||
if (ui.waterType->itemData(i) != QVariant::Invalid) {
|
||||
QString densityText = ui.waterType->itemText(i).split("(")[0].trimmed();
|
||||
density = ui.waterType->itemData(i).toInt() / 10000.0;
|
||||
densityText.append(QString(" (%L1%2)").arg(density, 0, 'f', 2).arg(tr("kg/ℓ")));
|
||||
double density = ui.waterType->itemData(i).toInt() / 10000.0;
|
||||
densityText.append(QStringLiteral(" (%L1%2)").arg(density, 0, 'f', 3).arg(tr("kg/ℓ")));
|
||||
ui.waterType->setItemText(i, densityText);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -210,7 +210,7 @@
|
|||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>90</width>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
|
@ -232,6 +232,9 @@
|
|||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<double>3</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="4">
|
||||
|
|
|
@ -224,11 +224,8 @@ void TabDiveInformation::updateData(const std::vector<dive *> &, dive *currentDi
|
|||
setIndexNoSignal(ui->atmPressType, 0); // Set the atmospheric pressure combo box to mbar
|
||||
salinity_value = get_dive_salinity(currentDive);
|
||||
if (salinity_value) { // Set water type indicator (EN13319 = 1.020 g/l)
|
||||
if (ui->waterTypeCombo->isVisible()) { // If water salinity is editable then set correct water type in combobox:
|
||||
setIndexNoSignal(ui->waterTypeCombo, updateSalinityComboIndex(salinity_value));
|
||||
} else { // If water salinity is not editable: show water type as a text label
|
||||
ui->waterTypeText->setText(get_water_type_string(salinity_value));
|
||||
}
|
||||
setIndexNoSignal(ui->waterTypeCombo, updateSalinityComboIndex(salinity_value));
|
||||
ui->waterTypeText->setText(get_water_type_string(salinity_value));
|
||||
ui->salinityText->setText(get_salinity_string(salinity_value));
|
||||
} else {
|
||||
setIndexNoSignal(ui->waterTypeCombo, -1);
|
||||
|
@ -349,6 +346,7 @@ void TabDiveInformation::divesChanged(const QVector<dive *> &dives, DiveField fi
|
|||
else
|
||||
salinity_value = currentDive->salinity;
|
||||
setIndexNoSignal(ui->waterTypeCombo, updateSalinityComboIndex(salinity_value));
|
||||
ui->waterTypeText->setText(get_water_type_string(salinity_value));
|
||||
ui->salinityText->setText(QString("%L1g/ℓ").arg(salinity_value / 10.0));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue