[PATCH] Adds Cylinder helper class for cylinder info access in grantlee templates
Tomaz Canabrava
tcanabrava at kde.org
Sat Jul 30 17:17:59 PDT 2016
hey,
just a tiny nitpick on the code,
And this would be used in what part of the code?
On Sat, Jul 30, 2016 at 7:25 PM, Tim Wootton <tim at tee-jay.org.uk> wrote:
> to allow grantlee to access individual fields of the cylinder_t struct
> rather than a string representation of the whole cylinder info
>
> Signed-off-by: Tim Wootton <tim at tee-jay.org.uk>
> ---
> core/CMakeLists.txt | 1 +
> core/subsurface-qt/DiveObjectHelper.cpp | 13 +++++++++++++
> core/subsurface-qt/DiveObjectHelper.h | 4 ++++
> 3 files changed, 18 insertions(+)
>
> diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
> index d9b1d34..5c22e23 100644
> --- a/core/CMakeLists.txt
> +++ b/core/CMakeLists.txt
> @@ -86,6 +86,7 @@ set(SUBSURFACE_CORE_LIB_SRCS
>
> #Subsurface Qt have the Subsurface structs QObjectified for easy
> access via QML.
> subsurface-qt/DiveObjectHelper.cpp
> + subsurface-qt/CylinderObjectHelper.cpp
> subsurface-qt/SettingsObjectWrapper.cpp
> ${SERIAL_FTDI}
> ${PLATFORM_SRC}
> diff --git a/core/subsurface-qt/DiveObjectHelper.cpp
> b/core/subsurface-qt/DiveObjectHelper.cpp
> index c246a12..7da5202 100644
> --- a/core/subsurface-qt/DiveObjectHelper.cpp
> +++ b/core/subsurface-qt/DiveObjectHelper.cpp
> @@ -55,10 +55,18 @@ static QString getPressures(struct dive *dive, enum
> returnPressureSelector ret)
> DiveObjectHelper::DiveObjectHelper(struct dive *d) :
> m_dive(d)
> {
> + m_cyls.clear();
> + for (int i = 0; i < MAX_CYLINDERS; i++) {
> + //Don't add blank cylinders, only those that have been
> defined.
> + if (m_dive->cylinder[i].type.description)
> + m_cyls.append(new
> CylinderObjectHelper(&m_dive->cylinder[i]));
> + }
> }
>
> DiveObjectHelper::~DiveObjectHelper()
> {
>
qDeleteAll(m_cyls);
> }
>
> int DiveObjectHelper::number() const
> @@ -271,6 +279,11 @@ QString DiveObjectHelper::cylinder(int idx) const
> return getFormattedCylinder(m_dive, idx);
> }
>
> +QList<CylinderObjectHelper*> DiveObjectHelper::cylinderObjects() const
> +{
> + return m_cyls;
> +}
> +
> QString DiveObjectHelper::trip() const
> {
> return m_dive->divetrip ? m_dive->divetrip->location :
> EMPTY_DIVE_STRING;
> diff --git a/core/subsurface-qt/DiveObjectHelper.h
> b/core/subsurface-qt/DiveObjectHelper.h
> index ab42a59..c685690 100644
> --- a/core/subsurface-qt/DiveObjectHelper.h
> +++ b/core/subsurface-qt/DiveObjectHelper.h
> @@ -2,6 +2,7 @@
> #define DIVE_QOBJECT_H
>
> #include "../dive.h"
> +#include "CylinderObjectHelper.h"
> #include <QObject>
> #include <QString>
> #include <QStringList>
> @@ -34,6 +35,7 @@ class DiveObjectHelper : public QObject {
> Q_PROPERTY(QString suit READ suit CONSTANT)
> Q_PROPERTY(QString cylinderList READ cylinderList CONSTANT)
> Q_PROPERTY(QStringList cylinders READ cylinders CONSTANT)
> + Q_PROPERTY(QList<CylinderObjectHelper*> cylinderObjects READ
> cylinderObjects CONSTANT)
> Q_PROPERTY(QString trip READ trip CONSTANT)
> Q_PROPERTY(QString tripMeta READ tripMeta CONSTANT)
> Q_PROPERTY(int maxcns READ maxcns CONSTANT)
> @@ -77,6 +79,7 @@ public:
> QString cylinderList() const;
> QStringList cylinders() const;
> QString cylinder(int idx) const;
> + QList<CylinderObjectHelper*> cylinderObjects() const;
> QString trip() const;
> QString tripMeta() const;
> int maxcns() const;
> @@ -92,6 +95,7 @@ public:
>
> private:
> struct dive *m_dive;
> + QList<CylinderObjectHelper*> m_cyls;
> };
> Q_DECLARE_METATYPE(DiveObjectHelper *)
>
> --
> 2.1.4
>
> _______________________________________________
> subsurface mailing list
> subsurface at subsurface-divelog.org
> http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20160730/223a7e5d/attachment.html>
More information about the subsurface
mailing list