aboutsummaryrefslogtreecommitdiffstats
path: root/qt-models/diveplannermodel.cpp
diff options
context:
space:
mode:
authorGravatar jan Iversen <jan@casacondor.com>2020-01-23 16:27:41 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-01-25 17:26:53 -0800
commit74d13b0554543054033852ee34f315cb9d558bc1 (patch)
tree9a25f4ba3f96565d784e100cce587b0037787dc1 /qt-models/diveplannermodel.cpp
parent14931db0a9ca53956afdb162f8818a5ed61060a4 (diff)
downloadsubsurface-74d13b0554543054033852ee34f315cb9d558bc1.tar.gz
diveplanner: move mobile specific calc to diveplannermodel
setBottomSac, setDecoSac and setFactor in diveplannermodel receives display value which are then converted. subsurface-mobile have slightly different values, move the correction of these from plannershared to diveplannermodel, in order to keep the whole convert in one place. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-models/diveplannermodel.cpp')
-rw-r--r--qt-models/diveplannermodel.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/qt-models/diveplannermodel.cpp b/qt-models/diveplannermodel.cpp
index 7694b185e..f290bebfc 100644
--- a/qt-models/diveplannermodel.cpp
+++ b/qt-models/diveplannermodel.cpp
@@ -7,6 +7,7 @@
#include "core/device.h"
#include "core/qthelper.h"
#include "core/settings/qPrefDivePlanner.h"
+#include "core/settings/qPrefUnit.h"
#if not defined(SUBSURFACE_MOBILE) && not defined(SUBSURFACE_TESTING)
#include "commands/command.h"
#endif // SUBSURFACE_MOBILE SUBSURFACE_TESTING
@@ -433,6 +434,10 @@ void DivePlannerPointsModel::emitDataChanged()
void DivePlannerPointsModel::setBottomSac(double sac)
{
+#ifdef SUBSURFACE_MOBILE
+ if (qPrefUnits::volume() == units::CUFT)
+ sac /= 100; // cuft without decimals (0 - 300)
+#endif
diveplan.bottomsac = units_to_sac(sac);
qPrefDivePlanner::set_bottomsac(diveplan.bottomsac);
emitDataChanged();
@@ -440,6 +445,10 @@ void DivePlannerPointsModel::setBottomSac(double sac)
void DivePlannerPointsModel::setDecoSac(double sac)
{
+#ifdef SUBSURFACE_MOBILE
+ if (qPrefUnits::volume() == units::CUFT)
+ sac /= 100; // cuft without decimals (0 - 300)
+#endif
diveplan.decosac = units_to_sac(sac);
qPrefDivePlanner::set_decosac(diveplan.decosac);
emitDataChanged();
@@ -447,6 +456,9 @@ void DivePlannerPointsModel::setDecoSac(double sac)
void DivePlannerPointsModel::setSacFactor(double factor)
{
+#ifdef SUBSURFACE_MOBILE
+ factor /= 10.0;
+#endif
qPrefDivePlanner::set_sacfactor((int) round(factor * 100));
emitDataChanged();
}