Added Sorting method Enum
authorLuciano Montanaro <mikelima@cirulla.net>
Sun, 5 Jun 2011 15:13:19 +0000 (17:13 +0200)
committerLuciano Montanaro <mikelima@cirulla.net>
Sun, 5 Jun 2011 15:13:19 +0000 (17:13 +0200)
application/stationlistview.cpp
application/stationlistview.h

index df9a1e9..1d64c57 100644 (file)
@@ -65,8 +65,8 @@ StationListView::StationListView(StationListModel *model, QWidget *parent) :
             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);
 }
 
@@ -112,11 +112,26 @@ void StationListView::updatePosition(const QtMobility::QGeoPositionInfo &update)
 
 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;
 }
index 86624a1..a3a2cd6 100644 (file)
@@ -24,10 +24,19 @@ class StationListView : public QMainWindow
 {
     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);
@@ -47,6 +56,7 @@ private:
     StationListModel *stationListModel;
     StationListProxyModel *filterModel;
     KeyPressForwarder *keyPressForwarder;
+    SortingMode m_sortingMode;
 };
 
 #endif // STATIONLISTVIEW_H