summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--backend-shared/plannershared.cpp10
-rw-r--r--mobile-widgets/qml/DivePlannerSetup.qml6
-rw-r--r--mobile-widgets/qmlinterface.cpp3
-rw-r--r--tests/testplannershared.cpp24
4 files changed, 27 insertions, 16 deletions
diff --git a/backend-shared/plannershared.cpp b/backend-shared/plannershared.cpp
index 542f1aae1..b39aa556c 100644
--- a/backend-shared/plannershared.cpp
+++ b/backend-shared/plannershared.cpp
@@ -105,10 +105,18 @@ void plannerShared::set_decosac(double value)
double plannerShared::sacfactor()
{
- return qPrefDivePlanner::sacfactor() / 100.0;
+ return qPrefDivePlanner::sacfactor() /
+#ifdef SUBSURFACE_MOBILE
+ 10.0;
+#else
+ 100.0;
+#endif
}
void plannerShared::set_sacfactor(double value)
{
+#ifdef SUBSURFACE_MOBILE
+ value /= 10.0;
+#endif
// NO conversion, this is done in the planner model.
DivePlannerPointsModel::instance()->setSacFactor(value);
}
diff --git a/mobile-widgets/qml/DivePlannerSetup.qml b/mobile-widgets/qml/DivePlannerSetup.qml
index 2c04d4695..a0c4a3176 100644
--- a/mobile-widgets/qml/DivePlannerSetup.qml
+++ b/mobile-widgets/qml/DivePlannerSetup.qml
@@ -261,15 +261,15 @@ Kirigami.ScrollablePage {
text: qsTr("SAC factor")
}
TemplateSpinBox {
- from: 20
+ from: 10
to: 99
stepSize: 1
- value: Planner.sacfactor
+ value: Backend.sacfactor
textFromValue: function (value, locale) {
return (value / 10).toFixed(1)
}
onValueModified: {
- Planner.sacfactor = value
+ Backend.sacfactor = value
}
}
TemplateLabel {
diff --git a/mobile-widgets/qmlinterface.cpp b/mobile-widgets/qmlinterface.cpp
index 99dc54f2f..21ab50494 100644
--- a/mobile-widgets/qmlinterface.cpp
+++ b/mobile-widgets/qmlinterface.cpp
@@ -69,6 +69,9 @@ void QMLInterface::setup(QQmlContext *ct)
instance(), &QMLInterface::bottomsacChanged);
connect(qPrefDivePlanner::instance(), &qPrefDivePlanner::decosacChanged,
instance(), &QMLInterface::decosacChanged);
+ connect(qPrefDivePlanner::instance(), &qPrefDivePlanner::sacfactorChanged,
+ instance(), &QMLInterface::sacfactorChanged);
+
connect(qPrefDivePlanner::instance(), &qPrefDivePlanner::display_runtimeChanged,
instance(), &QMLInterface::display_runtimeChanged);
connect(qPrefDivePlanner::instance(), &qPrefDivePlanner::display_durationChanged,
diff --git a/tests/testplannershared.cpp b/tests/testplannershared.cpp
index f2655432c..da4de48fb 100644
--- a/tests/testplannershared.cpp
+++ b/tests/testplannershared.cpp
@@ -79,13 +79,13 @@ void TestPlannerShared::test_gas()
{
// test independent of metric/imperial
plannerShared::set_sacfactor(4.2);
- QCOMPARE(qPrefDivePlanner::sacfactor(), 420);
+ QCOMPARE(qPrefDivePlanner::sacfactor(), 42);
plannerShared::set_sacfactor(3.5);
- QCOMPARE(qPrefDivePlanner::sacfactor(), 350);
+ QCOMPARE(qPrefDivePlanner::sacfactor(), 35);
qPrefDivePlanner::set_sacfactor(280);
- QCOMPARE(plannerShared::sacfactor(), 2.8);
+ QCOMPARE(plannerShared::sacfactor(), 28);
qPrefDivePlanner::set_sacfactor(200);
- QCOMPARE(plannerShared::sacfactor(), 2.0);
+ QCOMPARE(plannerShared::sacfactor(), 20);
// Set system to use meters
qPrefUnits::set_unit_system(METRIC);
@@ -139,26 +139,26 @@ void TestPlannerShared::test_gas()
qPrefUnits::set_unit_system(IMPERIAL);
plannerShared::set_bottomsac(0.9);
- QCOMPARE(qPrefDivePlanner::bottomsac(), 25485);
+ QCOMPARE(qPrefDivePlanner::bottomsac(), 255);
plannerShared::set_bottomsac(0.01);
- QCOMPARE(qPrefDivePlanner::bottomsac(), 283);
+ QCOMPARE(qPrefDivePlanner::bottomsac(), 3);
// Remark return will from qPref is in m / 1000.
qPrefDivePlanner::set_bottomsac(2830);
- QCOMPARE(int(plannerShared::bottomsac() * 1000), 99);
+ QCOMPARE(int(plannerShared::bottomsac()), 9);
qPrefDivePlanner::set_bottomsac(16000);
- QCOMPARE(int(plannerShared::bottomsac() * 1000), 565);
+ QCOMPARE(int(plannerShared::bottomsac()), 56);
plannerShared::set_decosac(0.9);
- QCOMPARE(qPrefDivePlanner::decosac(), 25485);
+ QCOMPARE(qPrefDivePlanner::decosac(), 255);
plannerShared::set_decosac(0.01);
- QCOMPARE(qPrefDivePlanner::decosac(), 283);
+ QCOMPARE(qPrefDivePlanner::decosac(), 3);
// Remark return will from qPref is in m / 1000.
qPrefDivePlanner::set_decosac(11500);
- QCOMPARE(int(plannerShared::decosac() * 1000), 406);
+ QCOMPARE(int(plannerShared::decosac()), 40);
qPrefDivePlanner::set_decosac(19800);
- QCOMPARE(int(plannerShared::decosac() * 1000), 699);
+ QCOMPARE(int(plannerShared::decosac()), 69);
// Remark bottompo2 is in BAR, even though unit system is
// Imperial, the desktop version is like that.