1 #ifndef STATIONLISTPROXYMODEL_H
2 #define STATIONLISTPROXYMODEL_H
4 #include <QSortFilterProxyModel>
5 #include <QGeoCoordinate>
10 class StationListProxyModel : public QSortFilterProxyModel
13 Q_PROPERTY(QString searchPattern READ searchPattern WRITE setSearchPattern)
14 Q_PROPERTY(SortingMode sortingMode READ sortingMode WRITE setSortingMode NOTIFY sortingModeChanged)
25 explicit StationListProxyModel(QObject *parent = 0);
27 QString searchPattern() const;
28 void setSearchPattern(const QString &pattern);
30 SortingMode sortingMode();
31 void setSortingMode(SortingMode mode);
33 Q_INVOKABLE void setUserPosition(const QGeoCoordinate &pos);
34 Q_INVOKABLE void setRecentStations(const QStringList &stations);
35 Q_INVOKABLE void setRecentOnlyFilter(bool);
38 void sortingModeChanged(SortingMode mode);
41 virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
42 virtual bool filterAcceptsRow(int sourceRow,
43 const QModelIndex &sourceParent) const;
46 QString m_searchPattern;
47 QGeoCoordinate m_here;
48 QStringList m_stations;
49 SortingMode m_sortingMode;
50 bool m_filterRecentOnly;
53 #endif // STATIONLISTPROXYMODEL_H