diff options
-rw-r--r-- | mobile-widgets/qml/DiveList.qml | 2 | ||||
-rw-r--r-- | qt-models/divelistmodel.cpp | 10 | ||||
-rw-r--r-- | qt-models/divelistmodel.h | 1 |
3 files changed, 11 insertions, 2 deletions
diff --git a/mobile-widgets/qml/DiveList.qml b/mobile-widgets/qml/DiveList.qml index b53a8c42b..ddcb81834 100644 --- a/mobile-widgets/qml/DiveList.qml +++ b/mobile-widgets/qml/DiveList.qml @@ -171,7 +171,7 @@ Kirigami.ScrollablePage { Controls.Label { id: dateLabel - text: dive.date + " " + dive.time + text: dateTime width: Math.max(locationText.width * 0.45, paintedWidth) // helps vertical alignment throughout listview font.pointSize: subsurfaceTheme.smallPointSize color: innerListItem.checked ? subsurfaceTheme.darkerPrimaryTextColor : secondaryTextColor diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp index 15934f9d6..b41a16003 100644 --- a/qt-models/divelistmodel.cpp +++ b/qt-models/divelistmodel.cpp @@ -241,14 +241,21 @@ QVariant DiveListModel::data(const QModelIndex &index, int role) const DiveObjectHelper *curr_dive = m_dives[index.row()]; const dive *d = curr_dive->getDive(); + if (!d) + return QVariant(); switch(role) { case DiveRole: return QVariant::fromValue<QObject*>(curr_dive); case DiveDateRole: return (qlonglong)curr_dive->timestamp(); case TripIdRole: return d->divetrip ? QString::number((quint64)d->divetrip, 16) : QString(); case TripNrDivesRole: return d->divetrip ? d->divetrip->dives.nr : 0; + case DateTimeRole: { + QDateTime localTime = QDateTime::fromMSecsSinceEpoch(1000 * d->when, Qt::UTC); + localTime.setTimeSpec(Qt::UTC); + return QStringLiteral("%1 %2").arg(localTime.date().toString(prefs.date_format_short), + localTime.time().toString(prefs.time_format)); + } } return QVariant(); - } QHash<int, QByteArray> DiveListModel::roleNames() const @@ -258,6 +265,7 @@ QHash<int, QByteArray> DiveListModel::roleNames() const roles[DiveDateRole] = "date"; roles[TripIdRole] = "tripId"; roles[TripNrDivesRole] = "tripNrDives"; + roles[DateTimeRole] = "dateTime"; return roles; } diff --git a/qt-models/divelistmodel.h b/qt-models/divelistmodel.h index e799ecf8a..c0d7aa0a0 100644 --- a/qt-models/divelistmodel.h +++ b/qt-models/divelistmodel.h @@ -40,6 +40,7 @@ public: DiveDateRole, TripIdRole, TripNrDivesRole, + DateTimeRole }; static DiveListModel *instance(); |