mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 14:25:27 +00:00
core/settings: correct signal error
prefs.unit = x needs to be after the setters are called, otherwise the setter will not do anything, and result in an inconsistency between the values stored on disk and in prefs.units. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6e06550631
commit
ed4e7e3fc4
1 changed files with 10 additions and 4 deletions
|
@ -46,23 +46,29 @@ void qPrefUnits::set_unit_system(unit_system_values value)
|
|||
{
|
||||
prefs.unit_system = value;
|
||||
if (prefs.unit_system == METRIC) {
|
||||
prefs.units = SI_units;
|
||||
|
||||
// make sure all types are updated when changing
|
||||
set_volume(units::VOLUME::LITER);
|
||||
set_weight(units::WEIGHT::KG);
|
||||
set_length(units::LENGTH::METERS);
|
||||
set_pressure(units::PRESSURE::BAR);
|
||||
set_temperature(units::TEMPERATURE::CELSIUS);
|
||||
} else if (prefs.unit_system == IMPERIAL) {
|
||||
prefs.units = IMPERIAL_units;
|
||||
|
||||
// this statement need to be AFTER the setters are called
|
||||
// because it sets all of prefs.units without calling the
|
||||
// setters
|
||||
prefs.units = SI_units;
|
||||
} else if (prefs.unit_system == IMPERIAL) {
|
||||
// make sure all types are updated when changing
|
||||
set_volume(units::VOLUME::CUFT);
|
||||
set_weight(units::WEIGHT::LBS);
|
||||
set_length(units::LENGTH::FEET);
|
||||
set_pressure(units::PRESSURE::PSI);
|
||||
set_temperature(units::TEMPERATURE::FAHRENHEIT);
|
||||
|
||||
// this statement need to be AFTER the setters are called
|
||||
// because it sets all of prefs.units without calling the
|
||||
// setters
|
||||
prefs.units = IMPERIAL_units;
|
||||
} else {
|
||||
prefs.unit_system = PERSONALIZE;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue