From 6b92edc9ab3111cbd1e76938c16a56673cd3791f Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sat, 10 Aug 2019 18:10:02 +0200 Subject: Mobile: support editing of dives with no weightsystem If a dive has no weightsystems, editing the weight system has to add a new entry in the table. Implement that. Signed-off-by: Berthold Stoeger --- mobile-widgets/qmlmanager.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'mobile-widgets/qmlmanager.cpp') diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp index 1289bcf64..fc8f12a20 100644 --- a/mobile-widgets/qmlmanager.cpp +++ b/mobile-widgets/qmlmanager.cpp @@ -1040,11 +1040,14 @@ void QMLManager::commitChanges(QString diveId, QString date, QString location, Q diveChanged = true; d->watertemp.mkelvin = parseTemperatureToMkelvin(watertemp); } - // not sure what we'd do if there was more than one weight system - // defined - for now just ignore that case - if (d->weightsystems.nr == 1) { - if (myDive->sumWeight() != weight) { - diveChanged = true; + if (myDive->sumWeight() != weight) { + diveChanged = true; + // not sure what we'd do if there was more than one weight system + // defined - for now just ignore that case + if (d->weightsystems.nr == 0) { + weightsystem_t ws = { { parseWeightToGrams(weight) } , "" }; + add_cloned_weightsystem(&d->weightsystems, ws); + } else if (d->weightsystems.nr == 1) { d->weightsystems.weightsystems[0].weight.grams = parseWeightToGrams(weight); } } -- cgit v1.2.3-70-g09d2