Moved SortingMode enum to StationListProxyModel
[quandoparte] / application / stationlistview.h
1 #ifndef STATIONLISTVIEW_H
2 #define STATIONLISTVIEW_H
3
4 #include "stationlistproxymodel.h"
5
6 #include <QMainWindow>
7 #include <QModelIndex>
8 #include <QGeoPositionInfoSource>
9
10 namespace Ui {
11     class StationListView;
12 }
13
14 class QActionGroup;
15 class QStringListModel;
16 class QSortFilterProxyModel;
17 class KeyPressForwarder;
18
19 class StationView;
20 class StationListModel;
21 class StationListProxyModel;
22
23 QTM_USE_NAMESPACE
24
25 class StationListView : public QMainWindow
26 {
27     Q_OBJECT
28 public:
29     explicit StationListView(StationListModel *model, QWidget *parent = 0);
30     ~StationListView();
31
32    void setSortingMode(StationListProxyModel::SortingMode mode);
33    StationListProxyModel::SortingMode sortingMode(void);
34
35 signals:
36     void stationSelected(const QString &);
37     void aboutTriggered(void);
38     void settingsChangeRequested(void);
39     void sortingModeChanged(StationListProxyModel::SortingMode mode);
40
41 public slots:
42     void updatePosition(const QGeoPositionInfo &update);
43
44 private slots:
45     void showStation(const QModelIndex &index);
46     void handleFilterChanges(const QString &filter);
47     void handleSortingChange(QAction *action);
48
49     void handlefilterClearClick();
50
51     private:
52     Ui::StationListView *ui;
53     QActionGroup *viewSelectionGroup;
54     StationListModel *stationListModel;
55     StationListProxyModel *filterModel;
56     KeyPressForwarder *keyPressForwarder;
57     QGeoPositionInfoSource *positionInfoSource;
58     StationListProxyModel::SortingMode m_sortingMode;
59 };
60
61 #endif // STATIONLISTVIEW_H