From f3b35d175a381a57447b2ff33a8cd6d0db69b924 Mon Sep 17 00:00:00 2001 From: Joakim Bygdell Date: Tue, 9 Feb 2016 17:19:06 +0100 Subject: QML UI: add function to get cylinder pressures Since we only show the first cylinder we can also only edit the first cylinder. Signed-off-by: Joakim Bygdell Signed-off-by: Dirk Hohndel --- subsurface-core/subsurface-qt/DiveObjectHelper.cpp | 25 +++++++++++++++++++++- subsurface-core/subsurface-qt/DiveObjectHelper.h | 4 ++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/subsurface-core/subsurface-qt/DiveObjectHelper.cpp b/subsurface-core/subsurface-qt/DiveObjectHelper.cpp index 2f058f47f..8a44c0ec5 100644 --- a/subsurface-core/subsurface-qt/DiveObjectHelper.cpp +++ b/subsurface-core/subsurface-qt/DiveObjectHelper.cpp @@ -7,7 +7,7 @@ #include "../helpers.h" static QString EMPTY_DIVE_STRING = QStringLiteral("--"); - +enum returnPressureSelector {START_PRESSURE, END_PRESSURE}; static QString getFormattedWeight(struct dive *dive, unsigned int idx) { @@ -33,6 +33,17 @@ static QString getFormattedCylinder(struct dive *dive, unsigned int idx) return fmt; } +static QString getPressures(struct dive *dive, enum returnPressureSelector ret) +{ + cylinder_t *cyl = &dive->cylinder[0]; + QString fmt; + if (ret == START_PRESSURE) + fmt = get_pressure_string(cyl->start, true); + if (ret == END_PRESSURE) + fmt = get_pressure_string(cyl->end, true); + return fmt; +} + DiveObjectHelper::DiveObjectHelper(struct dive *d) : m_dive(d) { @@ -269,3 +280,15 @@ QString DiveObjectHelper::getCylinder() const } return getCylinder; } + +QString DiveObjectHelper::startPressure() const +{ + QString startPressure = getPressures(m_dive, START_PRESSURE); + return startPressure; +} + +QString DiveObjectHelper::endPressure() const +{ + QString endPressure = getPressures(m_dive, END_PRESSURE); + return endPressure; +} diff --git a/subsurface-core/subsurface-qt/DiveObjectHelper.h b/subsurface-core/subsurface-qt/DiveObjectHelper.h index f9ed6a520..5d8abfd99 100644 --- a/subsurface-core/subsurface-qt/DiveObjectHelper.h +++ b/subsurface-core/subsurface-qt/DiveObjectHelper.h @@ -35,6 +35,8 @@ class DiveObjectHelper : public QObject { Q_PROPERTY(QString otu READ otu CONSTANT) Q_PROPERTY(QString sumWeight READ sumWeight CONSTANT) Q_PROPERTY(QString getCylinder READ getCylinder CONSTANT) + Q_PROPERTY(QString startPressure READ startPressure CONSTANT) + Q_PROPERTY(QString endPressure READ endPressure CONSTANT) public: DiveObjectHelper(struct dive *dive = NULL); ~DiveObjectHelper(); @@ -68,6 +70,8 @@ public: QString otu() const; QString sumWeight() const; QString getCylinder() const; + QString startPressure() const; + QString endPressure() const; private: struct dive *m_dive; -- cgit v1.2.3-70-g09d2