aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar jan Iversen <jan@casacondor.com>2020-01-02 13:41:55 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-01-04 10:56:55 -0800
commit14db76004484a56c6b3a2237732d7a2acad05953 (patch)
tree3da3e78670c6d463beb9e5f64c4da7ee4e9bd0c9
parentd000cb2b0d038264abb1384c037da10d753549b9 (diff)
downloadsubsurface-14db76004484a56c6b3a2237732d7a2acad05953.tar.gz
core/settings: split "normal" version of unit_system
All unit functions have a string version and a normal version, except unit_system. Make a non string version of unit_system. Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--core/settings/qPrefUnit.cpp16
-rw-r--r--core/settings/qPrefUnit.h6
2 files changed, 13 insertions, 9 deletions
diff --git a/core/settings/qPrefUnit.cpp b/core/settings/qPrefUnit.cpp
index 8a2244c8b..c415f8287 100644
--- a/core/settings/qPrefUnit.cpp
+++ b/core/settings/qPrefUnit.cpp
@@ -89,18 +89,20 @@ DISK_LOADSYNC_ENUM_EXT(Units, "temperature", units::TEMPERATURE, temperature, un
QString qPrefUnits::unit_system()
{
return prefs.unit_system == METRIC ? QStringLiteral("metric") :
- prefs.unit_system == IMPERIAL ? QStringLiteral("imperial") :
- QStringLiteral("personalized");
+ prefs.unit_system == IMPERIAL ? QStringLiteral("imperial") :
+ QStringLiteral("personalized");
}
void qPrefUnits::set_unit_system(const QString& value)
{
- short int v = value == QStringLiteral("metric") ? METRIC :
- value == QStringLiteral("imperial")? IMPERIAL :
- PERSONALIZE;
- if (v == METRIC) {
+ set_unit_system(value == QStringLiteral("metric") ? METRIC : value == QStringLiteral("imperial")? IMPERIAL : PERSONALIZE);
+ emit instance()->unit_systemStringChanged(value);
+}
+void qPrefUnits::set_unit_system(unit_system_values value)
+{
+ if (value == METRIC) {
prefs.unit_system = METRIC;
prefs.units = SI_units;
- } else if (v == IMPERIAL) {
+ } else if (value == IMPERIAL) {
prefs.unit_system = IMPERIAL;
prefs.units = IMPERIAL_units;
} else {
diff --git a/core/settings/qPrefUnit.h b/core/settings/qPrefUnit.h
index 12adc33a2..467117ef2 100644
--- a/core/settings/qPrefUnit.h
+++ b/core/settings/qPrefUnit.h
@@ -14,7 +14,7 @@ class qPrefUnits : public QObject {
Q_PROPERTY(QString pressure READ pressure WRITE set_pressure NOTIFY pressureStringChanged)
Q_PROPERTY(bool show_units_table READ show_units_table WRITE set_show_units_table NOTIFY show_units_tableChanged)
Q_PROPERTY(QString temperature READ temperature WRITE set_temperature NOTIFY temperatureStringChanged)
- Q_PROPERTY(QString unit_system READ unit_system WRITE set_unit_system NOTIFY unit_systemChanged)
+ Q_PROPERTY(QString unit_system READ unit_system WRITE set_unit_system NOTIFY unit_systemStringChanged)
Q_PROPERTY(QString vertical_speed_time READ vertical_speed_time WRITE set_vertical_speed_time NOTIFY vertical_speed_timeStringChanged)
Q_PROPERTY(QString volume READ volume WRITE set_volume NOTIFY volumeStringChanged)
Q_PROPERTY(QString weight READ weight WRITE set_weight NOTIFY weightStringChanged)
@@ -50,6 +50,7 @@ public slots:
static void set_show_units_table(bool value);
static void set_temperature(units::TEMPERATURE value);
static void set_temperature(const QString& value);
+ static void set_unit_system(unit_system_values value);
static void set_unit_system(const QString& value);
static void set_vertical_speed_time(units::TIME value);
static void set_vertical_speed_time(const QString& value);
@@ -77,7 +78,8 @@ signals:
void show_units_tableChanged(bool value);
void temperatureChanged(int value);
void temperatureStringChanged(const QString& value);
- void unit_systemChanged(const QString& value);
+ void unit_systemChanged(int value);
+ void unit_systemStringChanged(const QString& value);
void vertical_speed_timeChanged(int value);
void vertical_speed_timeStringChanged(const QString& value);
void volumeChanged(int value);