From cd3c2266f9f687746770912bfc913c4f94bb124b Mon Sep 17 00:00:00 2001 From: jan Iversen Date: Wed, 8 Jan 2020 12:06:23 +0100 Subject: dive planner: correct bottomsac/decosac calc. Move conversion cuft <-> liter from desktop-widget/diveplanner.cpp to plannerShared, to facilitate the same results in mobile diveplanner Use Backend for bottomsac/decosac and update to check for switch LITER <-> CUFT Add bottomsac/decosac to QMLinterface. Signed-off-by: jan Iversen --- backend-shared/plannershared.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'backend-shared') diff --git a/backend-shared/plannershared.cpp b/backend-shared/plannershared.cpp index 113b0f7e2..542f1aae1 100644 --- a/backend-shared/plannershared.cpp +++ b/backend-shared/plannershared.cpp @@ -63,20 +63,42 @@ void plannerShared::set_min_switch_duration(int value) double plannerShared::bottomsac() { - return qPrefDivePlanner::bottomsac() / 1000.0; + return (qPrefUnits::volume() == units::LITER) ? + qPrefDivePlanner::bottomsac() / 1000.0 : + ml_to_cuft(qPrefDivePlanner::bottomsac() +#ifdef SUBSURFACE_MOBILE + * 100 // cuft without decimals (0 - 300) +#endif + ); } void plannerShared::set_bottomsac(double value) { +#ifdef SUBSURFACE_MOBILE + if (qPrefUnits::volume() == units::CUFT) + value /= 100; // cuft without decimals (0 - 300) +#endif + // NO conversion, this is done in the planner model. DivePlannerPointsModel::instance()->setBottomSac(value); } double plannerShared::decosac() { - return qPrefDivePlanner::decosac() / 1000.0; + return (qPrefUnits::volume() == units::LITER) ? + qPrefDivePlanner::decosac() / 1000.0 : + ml_to_cuft(qPrefDivePlanner::decosac() +#ifdef SUBSURFACE_MOBILE + * 100 // cuft without decimals (0 - 300) +#endif + ); } void plannerShared::set_decosac(double value) { +#ifdef SUBSURFACE_MOBILE + if (qPrefUnits::volume() == units::CUFT) + value /= 100; // cuft without decimals (0 - 300) +#endif + // NO conversion, this is done in the planner model. DivePlannerPointsModel::instance()->setDecoSac(value); } -- cgit v1.2.3-70-g09d2