SIGNAL(activated(QModelIndex)), SLOT(showStation(QModelIndex)));
connect(ui->filterEdit, SIGNAL(textChanged(const QString &)),
SLOT(handleFilterChanges(const QString &)));
- filterModel->setSortRole(StationListModel::PositionRole);
- //filterModel->setSortRole(Qt::DisplayRole);
+ //filterModel->setSortRole(StationListModel::PositionRole);
+ filterModel->setSortRole(Qt::DisplayRole);
filterModel->sort(0);
}
void StationListView::handleSortingChange(const QAction *action)
{
+ SortingMode mode;
if (action == ui->sortByNameAction) {
+ mode = AlphaSorting;
qDebug() << "sort by name";
} else if (action == ui->sortNearFirstAction) {
+ mode = DistanceSorting;
qDebug() << "sort by distance";
} else if (action == ui->sortRecentFirstAction) {
+ mode = RecentUsageSorting;
qDebug() << "sort by recent use";
}
+ setSortingMode(mode);
+}
+
+void StationListView::setSortingMode(StationListView::SortingMode mode)
+{
+ m_sortingMode = mode;
+}
+
+StationListView::SortingMode StationListView::sortingMode()
+{
+ return m_sortingMode;
}
{
Q_OBJECT
+ enum SortingMode {
+ AlphaSorting,
+ DistanceSorting,
+ RecentUsageSorting
+ };
+
public:
explicit StationListView(StationListModel *model, QWidget *parent = 0);
~StationListView();
+ void setSortingMode(SortingMode mode);
+ SortingMode sortingMode(void);
+
signals:
void stationSelected(const QString &);
void aboutTriggered(void);
StationListModel *stationListModel;
StationListProxyModel *filterModel;
KeyPressForwarder *keyPressForwarder;
+ SortingMode m_sortingMode;
};
#endif // STATIONLISTVIEW_H