From be763452adc110cfcc011322d989698d897dd6ed Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Tue, 13 Aug 2019 07:28:24 +0200 Subject: DiveObjectHelper: Turn DiveObjectHelper into Q_GADGET based object DiveObjectHelper is a tiny wrapper around dive * to allow access to dive data from QML and grantlee. It doesn't have to be a full-fledged QObject with support for signals, etc. Therefore, turn it into a Q_GADGET based object. This allows us passing the object around as object, not as pointer to DiveObjectHelper. This makes memory-management distinctly easier. Signed-off-by: Berthold Stoeger --- qt-models/divelistmodel.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'qt-models') diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp index 9c67ced8d..028bd3600 100644 --- a/qt-models/divelistmodel.cpp +++ b/qt-models/divelistmodel.cpp @@ -64,8 +64,8 @@ int DiveListSortModel::getIdxForId(int id) { for (int i = 0; i < rowCount(); i++) { QVariant v = data(index(i, 0), DiveListModel::DiveRole); - DiveObjectHelper *d = v.value(); - if (d->id() == id) + DiveObjectHelper d = v.value(); + if (d.id() == id) return i; } return -1; @@ -239,13 +239,13 @@ QVariant DiveListModel::data(const QModelIndex &index, int role) const if(index.row() < 0 || index.row() >= m_dives.count()) return QVariant(); - DiveObjectHelper *curr_dive = m_dives[index.row()]; - const dive *d = curr_dive->getDive(); + DiveObjectHelper &curr_dive = *m_dives[index.row()]; + const dive *d = curr_dive.getDive(); if (!d) return QVariant(); switch(role) { - case DiveRole: return QVariant::fromValue(curr_dive); - case DiveDateRole: return (qlonglong)curr_dive->timestamp(); + case DiveRole: return QVariant::fromValue(curr_dive); + case DiveDateRole: return (qlonglong)d->when; case TripIdRole: return d->divetrip ? QString::number((quint64)d->divetrip, 16) : QString(); case TripNrDivesRole: return d->divetrip ? d->divetrip->dives.nr : 0; case DateTimeRole: { @@ -305,7 +305,7 @@ DiveListModel *DiveListModel::instance() return m_instance; } -DiveObjectHelper* DiveListModel::at(int i) +DiveObjectHelper *DiveListModel::at(int i) { return m_dives.at(i); } -- cgit v1.2.3-70-g09d2