36d4a922c48843bded8ef08f098dc9a22527d73d
[harbour-pedalo.git] / src / journeymodel.h
1 #ifndef JOURNEYMODEL_H
2 #define JOURNEYMODEL_H
3
4 #include <QAbstractListModel>
5 #include <QStringList>
6 #include <QFile>
7
8 #include "journey.h"
9
10 class JourneyModel : public QAbstractListModel
11 {
12 Q_OBJECT
13 public:
14 enum JourneyRoles {
15 StartRole = Qt::UserRole + 1,
16 DurationRole,
17 OvertookRole,
18 OvertakenByRole
19 };
20
21 QHash<int, QByteArray> roleNames() const;
22
23 JourneyModel(QObject *parent = 0);
24
25 void addJourney(const Journey &journey);
26
27 int rowCount(const QModelIndex & parent = QModelIndex()) const;
28
29 QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
30
31 void clear();
32
33 void exportToFile(QFile & file);
34 void importFromFile(QFile & file);
35
36 signals:
37 // General signals
38 void journeysChanged();
39
40 private:
41 QHash<int, QByteArray> roles;
42 QList<Journey> journeys;
43 };
44
45 #endif // JOURNEYMODEL_H