diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2017-06-24 13:13:04 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-06-24 13:13:04 -0700 |
commit | d93280f1dc30939c94259afccba6e112b7090892 (patch) | |
tree | 5c3a42887932f4e8a054c99c06f526f2f18bcfb9 | |
parent | 29741f0ed2328ce3c010a9d51cff39790b9b27ca (diff) | |
download | subsurface-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.cpp | 8 | ||||
-rw-r--r-- | mobile-widgets/qml/DiveList.qml | 29 |
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 |