summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/qthelper.cpp17
-rw-r--r--core/qthelper.h2
-rw-r--r--mobile-widgets/qml/DiveSummary.qml8
-rw-r--r--mobile-widgets/qmlinterface.h3
4 files changed, 28 insertions, 2 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp
index 0ad112124..ea5514824 100644
--- a/core/qthelper.cpp
+++ b/core/qthelper.cpp
@@ -948,6 +948,23 @@ char *get_dive_date_c_string(timestamp_t when)
return copy_qstring(text);
}
+static QString get_dive_only_date_string(timestamp_t when)
+{
+ QDateTime ts;
+ ts.setMSecsSinceEpoch(when * 1000L);
+ return loc.toString(ts.toUTC(), QString(prefs.date_format));
+}
+
+QString get_first_dive_date_string()
+{
+ return dive_table.nr > 0 ? get_dive_only_date_string(dive_table.dives[0]->when) : gettextFromC::tr("no dives");
+}
+
+QString get_last_dive_date_string()
+{
+ return dive_table.nr > 0 ? get_dive_only_date_string(dive_table.dives[dive_table.nr - 1]->when) : gettextFromC::tr("no dives");
+}
+
extern "C" char *get_current_date()
{
QDateTime ts(QDateTime::currentDateTime());;
diff --git a/core/qthelper.h b/core/qthelper.h
index 090f4fc6f..bd205228b 100644
--- a/core/qthelper.h
+++ b/core/qthelper.h
@@ -72,6 +72,8 @@ QString render_seconds_to_string(int seconds);
QString get_dive_duration_string(timestamp_t when, QString hoursText, QString minutesText, QString secondsText = gettextFromC::tr("sec"), QString separator = ":", bool isFreeDive = false);
QString get_dive_surfint_string(timestamp_t when, QString daysText, QString hoursText, QString minutesText, QString separator = " ", int maxdays = 4);
QString get_dive_date_string(timestamp_t when);
+QString get_first_dive_date_string();
+QString get_last_dive_date_string();
QString get_short_dive_date_string(timestamp_t when);
QString get_trip_date_string(timestamp_t when, int nr, bool getday);
QString uiLanguage(QLocale *callerLoc);
diff --git a/mobile-widgets/qml/DiveSummary.qml b/mobile-widgets/qml/DiveSummary.qml
index ad6d30372..e827d4f42 100644
--- a/mobile-widgets/qml/DiveSummary.qml
+++ b/mobile-widgets/qml/DiveSummary.qml
@@ -8,6 +8,10 @@ import org.subsurfacedivelog.mobile 1.0
import org.kde.kirigami 2.4 as Kirigami
Kirigami.ScrollablePage {
+ id: summary
+ property string firstDive: ""
+ property string lastDive: ""
+
background: Rectangle { color: subsurfaceTheme.backgroundColor }
title: qsTr("Dive summary")
@@ -54,10 +58,10 @@ Kirigami.ScrollablePage {
font.bold: true
}
TemplateLabel {
- text: Backend.diveSummaryText[0]
+ text: summary.firstDive
}
TemplateLabel {
- text: Backend.diveSummaryText[1]
+ text: summary.lastDive
}
TemplateLabel {
diff --git a/mobile-widgets/qmlinterface.h b/mobile-widgets/qmlinterface.h
index 9b05b927d..c8383387d 100644
--- a/mobile-widgets/qmlinterface.h
+++ b/mobile-widgets/qmlinterface.h
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
#ifndef QMLINTERFACE_H
#define QMLINTERFACE_H
+#include "core/qthelper.h"
#include "core/settings/qPrefCloudStorage.h"
#include "core/settings/qPrefUnit.h"
#include "core/settings/qPrefDivePlanner.h"
@@ -265,6 +266,8 @@ public slots:
void set_display_transitions(bool value) { DivePlannerPointsModel::instance()->setDisplayTransitions(value); }
void set_verbatim_plan(bool value) { DivePlannerPointsModel::instance()->setVerbatim(value); }
void set_display_variations(bool value) { DivePlannerPointsModel::instance()->setDisplayVariations(value); }
+ QString firstDiveDate() { return get_first_dive_date_string(); }
+ QString lastDiveDate() { return get_last_dive_date_string(); }
signals:
void cloud_verification_statusChanged(CLOUD_STATUS);