mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-12 03:51:29 +00:00
f8c5c8bedf
Instead of keeping track of a list of DiveObjectHelpers, generate them on-the-fly in DiveListModel. Thus, there is less danger of model and core getting out of sync. On the flip-side, now the DiveListModel and the DiveListSortModel might get out of sync. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
100 lines
3.5 KiB
C++
100 lines
3.5 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef DIVE_QOBJECT_H
|
|
#define DIVE_QOBJECT_H
|
|
|
|
#include "CylinderObjectHelper.h"
|
|
#include <QObject>
|
|
#include <QString>
|
|
#include <QStringList>
|
|
#include <QVector>
|
|
#include <QVariant>
|
|
|
|
class DiveObjectHelper {
|
|
Q_GADGET
|
|
Q_PROPERTY(int number READ number CONSTANT)
|
|
Q_PROPERTY(int id READ id CONSTANT)
|
|
Q_PROPERTY(int rating READ rating CONSTANT)
|
|
Q_PROPERTY(int visibility READ visibility CONSTANT)
|
|
Q_PROPERTY(QString date READ date CONSTANT)
|
|
Q_PROPERTY(QString time READ time CONSTANT)
|
|
Q_PROPERTY(int timestamp READ timestamp CONSTANT)
|
|
Q_PROPERTY(QString location READ location CONSTANT)
|
|
Q_PROPERTY(QString gps READ gps CONSTANT)
|
|
Q_PROPERTY(QString gps_decimal READ gps_decimal CONSTANT)
|
|
Q_PROPERTY(QVariant dive_site READ dive_site CONSTANT)
|
|
Q_PROPERTY(QString duration READ duration CONSTANT)
|
|
Q_PROPERTY(bool noDive READ noDive CONSTANT)
|
|
Q_PROPERTY(QString depth READ depth CONSTANT)
|
|
Q_PROPERTY(QString divemaster READ divemaster CONSTANT)
|
|
Q_PROPERTY(QString buddy READ buddy CONSTANT)
|
|
Q_PROPERTY(QString airTemp READ airTemp CONSTANT)
|
|
Q_PROPERTY(QString waterTemp READ waterTemp CONSTANT)
|
|
Q_PROPERTY(QString notes READ notes CONSTANT)
|
|
Q_PROPERTY(QString tags READ tags CONSTANT)
|
|
Q_PROPERTY(QString gas READ gas CONSTANT)
|
|
Q_PROPERTY(QString sac READ sac CONSTANT)
|
|
Q_PROPERTY(QString weightList READ weightList CONSTANT)
|
|
Q_PROPERTY(QStringList weights READ weights CONSTANT)
|
|
Q_PROPERTY(bool singleWeight READ singleWeight CONSTANT)
|
|
Q_PROPERTY(QString suit READ suit CONSTANT)
|
|
Q_PROPERTY(QStringList cylinderList READ cylinderList CONSTANT)
|
|
Q_PROPERTY(QStringList cylinders READ cylinders CONSTANT)
|
|
Q_PROPERTY(QVector<CylinderObjectHelper> cylinderObjects READ cylinderObjects CONSTANT)
|
|
Q_PROPERTY(int maxcns READ maxcns CONSTANT)
|
|
Q_PROPERTY(int otu READ otu CONSTANT)
|
|
Q_PROPERTY(QString sumWeight READ sumWeight CONSTANT)
|
|
Q_PROPERTY(QStringList getCylinder READ getCylinder CONSTANT)
|
|
Q_PROPERTY(QStringList startPressure READ startPressure CONSTANT)
|
|
Q_PROPERTY(QStringList endPressure READ endPressure CONSTANT)
|
|
Q_PROPERTY(QStringList firstGas READ firstGas CONSTANT)
|
|
public:
|
|
DiveObjectHelper(); // This is only to be used by Qt's metatype system!
|
|
DiveObjectHelper(struct dive *dive);
|
|
operator bool() const; // Returns false if this is an invalid default-generated object
|
|
bool operator!() const; // Returns true if this is an invalid default-generated object
|
|
int number() const;
|
|
int id() const;
|
|
struct dive *getDive() const;
|
|
int rating() const;
|
|
int visibility() const;
|
|
QString date() const;
|
|
timestamp_t timestamp() const;
|
|
QString time() const;
|
|
QString location() const;
|
|
QString gps() const;
|
|
QString gps_decimal() const;
|
|
QVariant dive_site() const;
|
|
QString duration() const;
|
|
bool noDive() const;
|
|
QString depth() const;
|
|
QString divemaster() const;
|
|
QString buddy() const;
|
|
QString airTemp() const;
|
|
QString waterTemp() const;
|
|
QString notes() const;
|
|
QString tags() const;
|
|
QString gas() const;
|
|
QString sac() const;
|
|
QString weightList() const;
|
|
QStringList weights() const;
|
|
QString weight(int idx) const;
|
|
bool singleWeight() const;
|
|
QString suit() const;
|
|
QStringList cylinderList() const;
|
|
QStringList cylinders() const;
|
|
QString cylinder(int idx) const;
|
|
QVector<CylinderObjectHelper> cylinderObjects() const;
|
|
int maxcns() const;
|
|
int otu() const;
|
|
QString sumWeight() const;
|
|
QStringList getCylinder() const;
|
|
QStringList startPressure() const;
|
|
QStringList endPressure() const;
|
|
QStringList firstGas() const;
|
|
|
|
private:
|
|
struct dive *m_dive;
|
|
};
|
|
Q_DECLARE_METATYPE(DiveObjectHelper)
|
|
|
|
#endif
|