diff options
author | Benjamin <nystire@gmail.com> | 2013-10-04 21:39:33 +0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-10-04 11:57:28 -0700 |
commit | ae713763c79afb483afec12d02730e0c5a8af309 (patch) | |
tree | 0d1dae49cccdfa464e7675d40c3d41d522a194f6 /qthelper.cpp | |
parent | f63605e02e4656b60c6c095f4289dbffa293bc2d (diff) | |
download | subsurface-ae713763c79afb483afec12d02730e0c5a8af309.tar.gz |
Add a helper function to calculate weight display string
Add a helper function to unify the calculation of the
weight display string, instead of having the same calculation
in two places in the code.
Signed-off-by: Benjamin Fogel <nystire@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qthelper.cpp')
-rw-r--r-- | qthelper.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/qthelper.cpp b/qthelper.cpp index 68f8c5058..36d1d02c7 100644 --- a/qthelper.cpp +++ b/qthelper.cpp @@ -76,3 +76,21 @@ void DiveComputerList::rmDC(QString m, uint32_t d) const DiveComputerNode *existNode = this->getExact(m, d); dcMap.remove(m, *existNode); } + +QString weight_string(int weight_in_grams) +{ + QString str; + if (get_units()->weight == units::KG) { + int gr = weight_in_grams % 1000; + int kg = weight_in_grams / 1000; + if (kg >= 20.0) { + str = QString("0"); + } else { + str = QString("%1.%2").arg(kg).arg((unsigned)(gr) / 100); + } + } else { + double lbs = grams_to_lbs(weight_in_grams); + str = QString("%1").arg(lbs, 0, 'f', lbs >= 40.0 ? 0 : 1 ); + } + return (str); +} |