summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2021-01-01 12:09:19 +0100
committerGravatar bstoeger <32835590+bstoeger@users.noreply.github.com>2021-01-01 21:10:10 +0100
commitb02847de53439820b8ac62f24c4b7457e284d8c4 (patch)
tree5ea193dcfeeb92b24cefe6497525b769bd7a1c38 /core
parente23d103c5d3e54c6609526234f6591c055f78611 (diff)
downloadsubsurface-b02847de53439820b8ac62f24c4b7457e284d8c4.tar.gz
core: add get_*_unit functions with explicit unit system
The get_*_unit() functions return the unit-name as set in the preferences. Add versions with a "metric" parameter. This will be used by the statistics code, which may in the future allow for binning with alternative units. All the unit-formatting functions should probably be moved away from qthelper to their own source file. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core')
-rw-r--r--core/qthelper.cpp43
-rw-r--r--core/qthelper.h13
2 files changed, 40 insertions, 16 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp
index 4f21f59c8..ed2aeb924 100644
--- a/core/qthelper.cpp
+++ b/core/qthelper.cpp
@@ -542,14 +542,19 @@ QString get_depth_string(depth_t depth, bool showunit, bool showdecimal)
return get_depth_string(depth.mm, showunit, showdecimal);
}
-QString get_depth_unit()
+QString get_depth_unit(bool metric)
{
- if (prefs.units.length == units::METERS)
+ if (metric)
return gettextFromC::tr("m");
else
return gettextFromC::tr("ft");
}
+QString get_depth_unit()
+{
+ return get_depth_unit(prefs.units.length == units::METERS);
+}
+
QString get_weight_string(weight_t weight, bool showunit)
{
QString str = weight_string(weight.grams);
@@ -561,14 +566,19 @@ QString get_weight_string(weight_t weight, bool showunit)
return str;
}
-QString get_weight_unit()
+QString get_weight_unit(bool metric)
{
- if (prefs.units.weight == units::KG)
+ if (metric)
return gettextFromC::tr("kg");
else
return gettextFromC::tr("lbs");
}
+QString get_weight_unit()
+{
+ return get_weight_unit(prefs.units.weight == units::KG);
+}
+
QString get_temperature_string(temperature_t temp, bool showunit)
{
if (temp.mkelvin == 0) {
@@ -582,12 +592,17 @@ QString get_temperature_string(temperature_t temp, bool showunit)
}
}
-QString get_temp_unit()
+QString get_temp_unit(bool metric)
{
- if (prefs.units.temperature == units::CELSIUS)
- return QString("°C");
+ if (metric)
+ return QStringLiteral("°C");
else
- return QString("°F");
+ return QStringLiteral("°F");
+}
+
+QString get_temp_unit()
+{
+ return get_temp_unit(prefs.units.temperature == units::CELSIUS);
}
QString get_volume_string(int mliter, bool showunit)
@@ -603,11 +618,17 @@ QString get_volume_string(volume_t volume, bool showunit)
return get_volume_string(volume.mliter, showunit);
}
+QString get_volume_unit(bool metric)
+{
+ if (metric)
+ return gettextFromC::tr("ℓ");
+ else
+ return gettextFromC::tr("cuft");
+}
+
QString get_volume_unit()
{
- const char *unit;
- (void) get_volume_units(0, NULL, &unit);
- return QString(unit);
+ return get_volume_unit(prefs.units.volume == units::LITER);
}
QString get_pressure_string(pressure_t pressure, bool showunit)
diff --git a/core/qthelper.h b/core/qthelper.h
index ef7f4c8ff..d78f65357 100644
--- a/core/qthelper.h
+++ b/core/qthelper.h
@@ -46,16 +46,19 @@ QStringList videoExtensionFilters();
char *copy_qstring(const QString &);
QString get_depth_string(depth_t depth, bool showunit = false, bool showdecimal = true);
QString get_depth_string(int mm, bool showunit = false, bool showdecimal = true);
-QString get_depth_unit();
+QString get_depth_unit(bool metric);
+QString get_depth_unit(); // use preferences unit
QString get_weight_string(weight_t weight, bool showunit = false);
-QString get_weight_unit();
+QString get_weight_unit(bool metric);
+QString get_weight_unit(); // use preferences unit
QString get_temperature_string(temperature_t temp, bool showunit = false);
-QString get_temp_unit();
+QString get_temp_unit(bool metric);
+QString get_temp_unit(); // use preferences unit
QString get_volume_string(volume_t volume, bool showunit = false);
QString get_volume_string(int mliter, bool showunit = false);
-QString get_volume_unit();
+QString get_volume_unit(bool metric);
+QString get_volume_unit(); // use preferences unit
QString get_pressure_string(pressure_t pressure, bool showunit = false);
-QString get_pressure_unit();
QString get_salinity_string(int salinity);
QString get_water_type_string(int salinity);
QString getSubsurfaceDataPath(QString folderToFind);