source: subsurface/qt-models/divelistmodel.h @ 5372f12

Last change on this file since 5372f12 was 5372f12, checked in by Dirk Hohndel <dirk@…>, 8 months ago

Add SPDX header to Qt models

Signed-off-by: Dirk Hohndel <dirk@…>

  • Property mode set to 100644
File size: 1.3 KB
Line 
1// SPDX-License-Identifier: GPL-2.0
2#ifndef DIVELISTMODEL_H
3#define DIVELISTMODEL_H
4
5#include <QAbstractListModel>
6#include <QSortFilterProxyModel>
7
8#include "core/dive.h"
9#include "core/helpers.h"
10#include "core/subsurface-qt/DiveObjectHelper.h"
11
12class DiveListSortModel : public QSortFilterProxyModel
13{
14        Q_OBJECT
15public:
16        DiveListSortModel(QObject *parent = 0);
17public slots:
18        int getDiveId(int idx);
19        int getIdxForId(int id);
20};
21
22class DiveListModel : public QAbstractListModel
23{
24        Q_OBJECT
25public:
26
27        enum DiveListRoles {
28                DiveRole = Qt::UserRole + 1,
29                DiveDateRole
30        };
31
32        static DiveListModel *instance();
33        DiveListModel(QObject *parent = 0);
34        void addDive(QList<dive *> listOfDives);
35        void addAllDives();
36        void insertDive(int i, DiveObjectHelper *newDive);
37        void removeDive(int i);
38        void removeDiveById(int id);
39        void updateDive(int i, dive *d);
40        void clear();
41        int rowCount(const QModelIndex &parent = QModelIndex()) const;
42        int getDiveId(int idx) const;
43        int getDiveIdx(int id) const;
44        QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
45        QHash<int, QByteArray> roleNames() const;
46        QString startAddDive();
47        Q_INVOKABLE DiveObjectHelper* at(int i);
48private:
49        QList<DiveObjectHelper*> m_dives;
50        static DiveListModel *m_instance;
51};
52
53#endif // DIVELISTMODEL_H
Note: See TracBrowser for help on using the repository browser.