subsurface/qt-models/divelistmodel.h
Berthold Stoeger 36b9e5e31e Cleanup: fold core/helpers.h into core/qthelper.h
helpers.h included qthelper.h and all functions declared in helpers.h
were defined in qthelper.h. Therefore fold the former into the latter,
since the split seems completely arbitrary.

While doing so, change the return-type of get_dc_nichname from
"const QString" to "QString".

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-06-04 08:50:10 -07:00

54 lines
1.3 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef DIVELISTMODEL_H
#define DIVELISTMODEL_H
#include <QAbstractListModel>
#include <QSortFilterProxyModel>
#include "core/subsurface-qt/DiveObjectHelper.h"
class DiveListSortModel : public QSortFilterProxyModel
{
Q_OBJECT
public:
DiveListSortModel(QObject *parent = 0);
Q_INVOKABLE void addAllDives();
Q_INVOKABLE void clear();
public slots:
int getDiveId(int idx);
int getIdxForId(int id);
};
class DiveListModel : public QAbstractListModel
{
Q_OBJECT
public:
enum DiveListRoles {
DiveRole = Qt::UserRole + 1,
DiveDateRole
};
static DiveListModel *instance();
DiveListModel(QObject *parent = 0);
void addDive(QList<dive *> listOfDives);
void addAllDives();
void insertDive(int i, DiveObjectHelper *newDive);
void removeDive(int i);
void removeDiveById(int id);
void updateDive(int i, dive *d);
void clear();
int rowCount(const QModelIndex &parent = QModelIndex()) const;
int getDiveId(int idx) const;
int getDiveIdx(int id) const;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
QHash<int, QByteArray> roleNames() const;
QString startAddDive();
void resetInternalData();
Q_INVOKABLE DiveObjectHelper* at(int i);
private:
QList<DiveObjectHelper*> m_dives;
static DiveListModel *m_instance;
};
#endif // DIVELISTMODEL_H