aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2017-06-24 13:13:04 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2017-06-24 13:13:04 -0700
commitd93280f1dc30939c94259afccba6e112b7090892 (patch)
tree5c3a42887932f4e8a054c99c06f526f2f18bcfb9
parent29741f0ed2328ce3c010a9d51cff39790b9b27ca (diff)
downloadsubsurface-d93280f1dc30939c94259afccba6e112b7090892.tar.gz
QML UI: DiveList: add date box to trip header
This way you can tell when a trip happened. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--core/subsurface-qt/DiveObjectHelper.cpp8
-rw-r--r--mobile-widgets/qml/DiveList.qml29
2 files changed, 33 insertions, 4 deletions
diff --git a/core/subsurface-qt/DiveObjectHelper.cpp b/core/subsurface-qt/DiveObjectHelper.cpp
index a93053ac8..8e5890b4c 100644
--- a/core/subsurface-qt/DiveObjectHelper.cpp
+++ b/core/subsurface-qt/DiveObjectHelper.cpp
@@ -335,10 +335,12 @@ QString DiveObjectHelper::tripMeta() const
if (dt) {
QString numDives = tr("(%n dive(s))", "", dt->nrdives);
QString title(dt->location);
+ QDateTime firstTime = QDateTime::fromMSecsSinceEpoch(1000*dt->when, Qt::UTC);
+ QString firstMonth = firstTime.toString("MMM");
+ QString tripDate = QStringLiteral("%1@%2").arg(firstMonth,firstTime.toString("yy"));
+;
if (title.isEmpty()) {
// so use the date range
- QDateTime firstTime = QDateTime::fromMSecsSinceEpoch(1000*dt->when, Qt::UTC);
- QString firstMonth = firstTime.toString("MMM");
QString firstYear = firstTime.toString("yyyy");
QDateTime lastTime = QDateTime::fromMSecsSinceEpoch(1000*dt->dives->when, Qt::UTC);
QString lastMonth = lastTime.toString("MMM");
@@ -350,7 +352,7 @@ QString DiveObjectHelper::tripMeta() const
else
title = firstMonth + " " + firstYear + " - " + lastMonth + " " + lastYear;
}
- ret = QString::number((quint64)m_dive->divetrip, 16) + QLatin1Literal("::") + QStringLiteral("%1 %2").arg(title, numDives);
+ ret = QString::number((quint64)m_dive->divetrip, 16) + QLatin1Literal("++") + tripDate + QLatin1Literal("::") + QStringLiteral("%1 %2").arg(title, numDives);
}
return ret;
}
diff --git a/mobile-widgets/qml/DiveList.qml b/mobile-widgets/qml/DiveList.qml
index 07075bc36..8ffaa0011 100644
--- a/mobile-widgets/qml/DiveList.qml
+++ b/mobile-widgets/qml/DiveList.qml
@@ -194,6 +194,33 @@ Kirigami.ScrollablePage {
}
color: subsurfaceTheme.lightPrimaryColor
visible: section != ""
+ Rectangle {
+ id: dateBox
+ visible: section != ""
+ height: section == "" ? 0 : 2 * Kirigami.Units.gridUnit
+ width: section == "" ? 0 : 2.5 * Kirigami.Units.gridUnit
+ color: subsurfaceTheme.primaryColor
+ radius: Kirigami.Units.smallSpacing * 2
+ antialiasing: true
+ anchors {
+ verticalCenter: parent.verticalCenter
+ left: parent.left
+ leftMargin: Kirigami.Units.smallSpacing
+ }
+ Label {
+ text: { section.replace(/.*\+\+/, "").replace(/::.*/, "").replace("@", "\n'") }
+ color: subsurfaceTheme.primaryTextColor
+ font.pointSize: subsurfaceTheme.smallPointSize
+ lineHeightMode: Text.FixedHeight
+ lineHeight: Kirigami.Units.gridUnit *.9
+ horizontalAlignment: Text.AlignHCenter
+ anchors {
+ horizontalCenter: parent.horizontalCenter
+ verticalCenter: parent.verticalCenter
+ }
+ }
+ }
+
Kirigami.Label {
id: sectionText
text: {
@@ -214,7 +241,7 @@ Kirigami.ScrollablePage {
font.weight: Font.Bold
anchors {
top: parent.top
- left: parent.left
+ left: dateBox.right
topMargin: Math.max(2, Kirigami.Units.gridUnit / 2)
leftMargin: horizontalPadding * 2
right: parent.right