FlightGear next
RecentAircraftModel.hxx
Go to the documentation of this file.
1#ifndef RECENTAIRCRAFTMODEL_HXX
2#define RECENTAIRCRAFTMODEL_HXX
3
4#include <QAbstractListModel>
5#include <QUrl>
6
7// forward decls
9
10class RecentAircraftModel : public QAbstractListModel
11{
12 Q_OBJECT
13
14 Q_PROPERTY(bool isEmpty READ isEmpty NOTIFY isEmptyChanged)
15public:
16 RecentAircraftModel(AircraftItemModel *acModel, QObject* pr = nullptr);
17
18 QVariant data(const QModelIndex &index, int role) const override;
19
20 int rowCount(const QModelIndex &parent) const override;
21
22 QHash<int, QByteArray> roleNames() const override;
23
24 QUrl mostRecent() const;
25
26 void insert(QUrl aircraftUrl);
27
28 void saveToSettings();
29
30 Q_INVOKABLE QUrl uriAt(int index) const;
31
32 bool isEmpty() const;
33
34signals:
36
37private:
38 void onModelContentsChanged();
39
40 AircraftItemModel* m_aircraftModel;
41 QList<QUrl> m_data;
42};
43
44#endif // RECENTAIRCRAFTMODEL_HXX
RecentAircraftModel(AircraftItemModel *acModel, QObject *pr=nullptr)
int rowCount(const QModelIndex &parent) const override
void insert(QUrl aircraftUrl)
QVariant data(const QModelIndex &index, int role) const override
Q_INVOKABLE QUrl uriAt(int index) const
QHash< int, QByteArray > roleNames() const override