From c4831d7ace59590e6cdf3c357eb140d4273a270c Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Thu, 15 Aug 2019 00:23:25 +0200 Subject: [PATCH] Mobile: return location directly from DiveListModel We don't want to generate a DiveObjectHelper numerous times for every item in the dive list. Therefore, return this datum directly from the model. In this case, don't remove from DiveObjectHelper, as this datum might be used by grantlee templates. Signed-off-by: Berthold Stoeger --- mobile-widgets/qml/DiveList.qml | 2 +- qt-models/divelistmodel.cpp | 2 ++ qt-models/divelistmodel.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mobile-widgets/qml/DiveList.qml b/mobile-widgets/qml/DiveList.qml index ef117719c..99a93be2a 100644 --- a/mobile-widgets/qml/DiveList.qml +++ b/mobile-widgets/qml/DiveList.qml @@ -147,7 +147,7 @@ Kirigami.ScrollablePage { anchors.left: leftBarDive.right Controls.Label { id: locationText - text: dive.location + text: location font.weight: Font.Bold font.pointSize: subsurfaceTheme.regularPointSize elide: Text.ElideRight diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp index 1911a8f8d..05cf987c9 100644 --- a/qt-models/divelistmodel.cpp +++ b/qt-models/divelistmodel.cpp @@ -256,6 +256,7 @@ QVariant DiveListModel::data(const QModelIndex &index, int role) const } case IdRole: return d->id; case NumberRole: return d->number; + case LocationRole: return get_dive_location(d); } return QVariant(); } @@ -270,6 +271,7 @@ QHash DiveListModel::roleNames() const roles[DateTimeRole] = "dateTime"; roles[IdRole] = "id"; roles[NumberRole] = "number"; + roles[LocationRole] = "location"; return roles; } diff --git a/qt-models/divelistmodel.h b/qt-models/divelistmodel.h index 5bec0de10..9e706dd3d 100644 --- a/qt-models/divelistmodel.h +++ b/qt-models/divelistmodel.h @@ -43,6 +43,7 @@ public: DateTimeRole, IdRole, NumberRole, + LocationRole, }; static DiveListModel *instance();