From fdff61f6af1147ff691b1453764cbc55fdd40fc6 Mon Sep 17 00:00:00 2001 From: jan Iversen Date: Thu, 2 Jan 2020 09:12:40 +0100 Subject: [PATCH] core/settings: change measurements when changing metric/imperial When switching between imperial/metric it is important to change the single measurements as well (e.g. METER <-> FEET). Signed-off-by: Jan Iversen Signed-off-by: Dirk Hohndel --- core/settings/qPrefUnit.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/core/settings/qPrefUnit.cpp b/core/settings/qPrefUnit.cpp index c415f8287..8fe2477b9 100644 --- a/core/settings/qPrefUnit.cpp +++ b/core/settings/qPrefUnit.cpp @@ -102,9 +102,23 @@ void qPrefUnits::set_unit_system(unit_system_values value) if (value == METRIC) { 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 (value == IMPERIAL) { prefs.unit_system = IMPERIAL; prefs.units = IMPERIAL_units; + + // 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); } else { prefs.unit_system = PERSONALIZE; }