[PATCH] Fix inaccurate weight and temperature display in dive list
subsurface at henrik.synth.no
subsurface at henrik.synth.no
Tue May 14 00:45:01 PDT 2013
From: Henrik Brautaset Aronsen <subsurface at henrik.synth.no>
A nonexisting temperature (mkelvin==0) was displayed as -273°C.
Weight was always displayed with an extra 500 grams/0.5 lbs.
Signed-off-by: Henrik Brautaset Aronsen <subsurface at henrik.synth.no>
---
qt-ui/models.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp
index 0b933ae..4c45f14 100644
--- a/qt-ui/models.cpp
+++ b/qt-ui/models.cpp
@@ -540,6 +540,9 @@ QString DiveItem::displayTemperature() const
{
QString str;
+ if (!dive->watertemp.mkelvin)
+ return str;
+
if (get_units()->temperature == units::CELSIUS)
str = QString::number(mkelvin_to_C(dive->watertemp.mkelvin), 'f', 1);
else
@@ -567,9 +570,9 @@ QString DiveItem::displayWeight() const
if (get_units()->weight == units::KG) {
int gr = weight() % 1000;
int kg = weight() / 1000;
- str = QString("%1.%2").arg(kg).arg((unsigned)(gr + 500) / 100);
+ str = QString("%1.%2").arg(kg).arg((unsigned)(gr) / 100);
} else {
- str = QString("%1").arg((unsigned)(grams_to_lbs(weight()) + 0.5));
+ str = QString("%1").arg((unsigned)(grams_to_lbs(weight())));
}
return str;
--
1.8.2.2
More information about the subsurface
mailing list