divesummary: add DiveSummary class to shared and backend

Create DiveSummary class in backend-shared and make the DiveSummary calculation
results available to QML.

This adds a loop over all dives (could have been done with a model, but the
models available to mobile are very limited, so use the basic way).

[Dirk Hohndel: renamed the results variable and combined a couple of commits]

Signed-off-by: jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
jan Iversen 2020-01-24 13:31:51 +01:00 committed by Dirk Hohndel
parent bb13065a75
commit 6cd46bee06
6 changed files with 222 additions and 1 deletions

View file

@ -1,6 +1,5 @@
// SPDX-License-Identifier: GPL-2.0
#include "qmlinterface.h"
#include <QQmlEngine>
QMLInterface *QMLInterface::instance()
@ -92,4 +91,15 @@ void QMLInterface::setup(QQmlContext *ct)
instance(), &QMLInterface::verbatim_planChanged);
connect(qPrefDivePlanner::instance(), &qPrefDivePlanner::display_variationsChanged,
instance(), &QMLInterface::display_variationsChanged);
// calculate divesummary first time.
// this is needed in order to load the divesummary page
diveSummary::summaryCalculation(0, 3);
}
void QMLInterface::summaryCalculation(int primaryPeriod, int secondaryPeriod)
{
diveSummary::summaryCalculation(primaryPeriod, secondaryPeriod);
emit diveSummaryTextChanged(diveSummary::diveSummaryText);
}