From 9961cf13b13b03803b2c96ec5d2221cf18d46588 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Fri, 4 Oct 2013 15:49:32 +0300 Subject: [PATCH] Use the same conversion grams->lbs in dive and equipment list Subsurface stores weight values in grams. When displaying lbs, the dive list was not rounding the converted weights up, but rather truncating the value at the decimal place. The equipment list was rounding the converted weights up. This gave two different displayed values for the same weight value. Signed-off-by: Benjamin Fogel Signed-off-by: Dirk Hohndel --- qt-gui.cpp | 5 +++-- qt-ui/models.cpp | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/qt-gui.cpp b/qt-gui.cpp index 64a125dcb..78138ad3a 100644 --- a/qt-gui.cpp +++ b/qt-gui.cpp @@ -217,8 +217,9 @@ QString get_depth_unit() QString get_weight_string(weight_t weight, bool showunit) { if (prefs.units.weight == units::KG) { - double kg = weight.grams / 1000.0; - return QString("%1%2").arg(kg, 0, 'f', kg >= 20.0 ? 0 : 1 ).arg(showunit ? _("kg") : ""); + int gr = weight.grams % 1000; + int kg = weight.grams / 1000; + return QString("%1.%2%3").arg(kg).arg((unsigned)(gr) / 100).arg(showunit ? _("kg") : ""); } else { double lbs = grams_to_lbs(weight.grams); return QString("%1%2").arg(lbs, 0, 'f', lbs >= 40.0 ? 0 : 1 ).arg(showunit ? _("lbs") : ""); diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp index 6831b9271..752f3ddf3 100644 --- a/qt-ui/models.cpp +++ b/qt-ui/models.cpp @@ -1114,7 +1114,8 @@ QString DiveItem::displayWeight() const int kg = weight() / 1000; str = QString("%1.%2").arg(kg).arg((unsigned)(gr) / 100); } else { - str = QString("%1").arg((unsigned)(grams_to_lbs(weight()))); + double lbs = grams_to_lbs(weight()); + str = QString("%1").arg(lbs, 0, 'f', lbs >= 40.0 ? 0 : 1 ); } return str;