summaryrefslogtreecommitdiffstats
path: root/qthelper.cpp
diff options
context:
space:
mode:
authorGravatar Benjamin <nystire@gmail.com>2013-10-04 21:39:33 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-10-04 11:57:28 -0700
commitae713763c79afb483afec12d02730e0c5a8af309 (patch)
tree0d1dae49cccdfa464e7675d40c3d41d522a194f6 /qthelper.cpp
parentf63605e02e4656b60c6c095f4289dbffa293bc2d (diff)
downloadsubsurface-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.cpp18
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);
+}