diff options
-rw-r--r-- | core/qthelper.cpp | 17 | ||||
-rw-r--r-- | core/qthelper.h | 2 | ||||
-rw-r--r-- | mobile-widgets/qml/DiveSummary.qml | 8 | ||||
-rw-r--r-- | mobile-widgets/qmlinterface.h | 3 |
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); |