diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2021-01-01 12:09:19 +0100 |
---|---|---|
committer | bstoeger <32835590+bstoeger@users.noreply.github.com> | 2021-01-01 21:10:10 +0100 |
commit | b02847de53439820b8ac62f24c4b7457e284d8c4 (patch) | |
tree | 5ea193dcfeeb92b24cefe6497525b769bd7a1c38 /core | |
parent | e23d103c5d3e54c6609526234f6591c055f78611 (diff) | |
download | subsurface-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.cpp | 43 | ||||
-rw-r--r-- | core/qthelper.h | 13 |
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); |