diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/subsurface-qt/DiveObjectHelper.cpp | 11 | ||||
-rw-r--r-- | core/subsurface-qt/DiveObjectHelper.h | 19 |
2 files changed, 26 insertions, 4 deletions
diff --git a/core/subsurface-qt/DiveObjectHelper.cpp b/core/subsurface-qt/DiveObjectHelper.cpp index ec62a9fec..9e4ff47bb 100644 --- a/core/subsurface-qt/DiveObjectHelper.cpp +++ b/core/subsurface-qt/DiveObjectHelper.cpp @@ -238,7 +238,6 @@ DiveObjectHelper::DiveObjectHelper(const struct dive *d) : singleWeight(d->weightsystems.nr <= 1), suit(d->suit ? d->suit : QString()), cylinders(formatCylinders(d)), - cylinderObjects(makeCylinderObjects(d)), maxcns(d->maxcns), otu(d->otu), sumWeight(get_weight_string(weight_t { total_weight(d) }, true)), @@ -249,6 +248,16 @@ DiveObjectHelper::DiveObjectHelper(const struct dive *d) : { } +DiveObjectHelperGrantlee::DiveObjectHelperGrantlee() +{ +} + +DiveObjectHelperGrantlee::DiveObjectHelperGrantlee(const struct dive *d) : + DiveObjectHelper(d), + cylinderObjects(makeCylinderObjects(d)) +{ +} + QString DiveObjectHelper::date() const { QDateTime localTime = QDateTime::fromMSecsSinceEpoch(1000 * timestamp, Qt::UTC); diff --git a/core/subsurface-qt/DiveObjectHelper.h b/core/subsurface-qt/DiveObjectHelper.h index 5e6b0c7e1..639dae696 100644 --- a/core/subsurface-qt/DiveObjectHelper.h +++ b/core/subsurface-qt/DiveObjectHelper.h @@ -39,7 +39,6 @@ class DiveObjectHelper { Q_PROPERTY(QString suit MEMBER suit CONSTANT) Q_PROPERTY(QStringList cylinderList READ cylinderList CONSTANT) Q_PROPERTY(QStringList cylinders MEMBER cylinders CONSTANT) - Q_PROPERTY(QVector<CylinderObjectHelper> cylinderObjects MEMBER cylinderObjects CONSTANT) Q_PROPERTY(int maxcns MEMBER maxcns CONSTANT) Q_PROPERTY(int otu MEMBER otu CONSTANT) Q_PROPERTY(QString sumWeight MEMBER sumWeight CONSTANT) @@ -78,7 +77,6 @@ public: QString suit; QStringList cylinderList() const; QStringList cylinders; - QVector<CylinderObjectHelper> cylinderObjects; int maxcns; int otu; QString sumWeight; @@ -87,6 +85,21 @@ public: QStringList endPressure; QStringList firstGas; }; - Q_DECLARE_METATYPE(DiveObjectHelper) + +// This is an extended version of DiveObjectHelper that also keeps track of cylinder data. +// It is used by grantlee to display structured cylinder data. +// Note: this grantlee feature is undocumented. If there turns out to be no users, we might +// want to remove this class. +class DiveObjectHelperGrantlee : public DiveObjectHelper { + Q_GADGET + Q_PROPERTY(QVector<CylinderObjectHelper> cylinderObjects MEMBER cylinderObjects CONSTANT) +public: + DiveObjectHelperGrantlee(); + DiveObjectHelperGrantlee(const struct dive *dive); + QVector<CylinderObjectHelper> cylinderObjects; +}; + +Q_DECLARE_METATYPE(DiveObjectHelper) +Q_DECLARE_METATYPE(DiveObjectHelperGrantlee) #endif |