Bump version to 0.9.0
[quandoparte] / application / stationlistview.cpp
index 87c1cf9..ef18b39 100644 (file)
@@ -40,9 +40,7 @@ StationListView::StationListView(StationListModel *model, QWidget *parent) :
     stationListModel(model),
     filterModel(new StationListProxyModel(this)),
     keyPressForwarder(new KeyPressForwarder(this)),
-    positionInfoSource(QGeoPositionInfoSource::createDefaultSource(this)),
-    m_sortingMode(NoSorting)
-
+    m_sortingMode(StationListProxyModel::NoSorting)
 {
     ui->setupUi(this);
 #ifdef Q_WS_MAEMO_5
@@ -57,7 +55,6 @@ StationListView::StationListView(StationListModel *model, QWidget *parent) :
     viewSelectionGroup->addAction(ui->sortByDistanceAction);
     viewSelectionGroup->addAction(ui->sortRecentFirstAction);
     filterModel->setSourceModel(stationListModel);
-    filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
     ui->listView->setModel(filterModel);
     ui->listView->setEditTriggers(QAbstractItemView::NoEditTriggers);
     ui->listView->setSelectionMode(QAbstractItemView::SingleSelection);
@@ -78,18 +75,15 @@ StationListView::StationListView(StationListModel *model, QWidget *parent) :
     connect(viewSelectionGroup, SIGNAL(triggered(QAction*)),
             SLOT(handleSortingChange(QAction*)));
 
-    if (positionInfoSource) {
-        connect(positionInfoSource, SIGNAL(positionUpdated(QGeoPositionInfo)),
-                SLOT(updatePosition(QGeoPositionInfo)));
-    }
-
     QSettings settings;
-    SortingMode mode = static_cast<SortingMode>(
+    StationListProxyModel::SortingMode mode =
+            static_cast<StationListProxyModel::SortingMode>(
                 settings.value("StationListView/SortingMode",
-                               AlphaSorting).toInt());
+                               StationListProxyModel::AlphaSorting).toInt());
     filterModel->setRecentStations(
                 settings.value("RecentStations").toString().split(","));
     setSortingMode(mode);
+    emit sortingModeChanged(mode);
 }
 
 
@@ -114,25 +108,17 @@ void StationListView::handleFilterChanges(const QString &filter)
     qDebug() << "Filtering for" << filter;
 }
 
-void StationListView::updatePosition(const QtMobility::QGeoPositionInfo &update)
-{
-    qDebug() << "Position update received" << update;
-    filterModel->setUserPosition(update.coordinate());
-    filterModel->invalidate();
-    filterModel->sort(0);
-}
-
 void StationListView::handleSortingChange(QAction *action)
 {
-    SortingMode mode = NoSorting;
+    StationListProxyModel::SortingMode mode = StationListProxyModel::NoSorting;
     if (action == ui->sortByNameAction) {
-        mode = AlphaSorting;
+        mode = StationListProxyModel::AlphaSorting;
         qDebug() << "sort by name";
     } else if (action == ui->sortByDistanceAction) {
-        mode = DistanceSorting;
+        mode = StationListProxyModel::DistanceSorting;
         qDebug() << "sort by distance";
     } else if (action == ui->sortRecentFirstAction) {
-        mode = RecentUsageSorting;
+        mode = StationListProxyModel::RecentUsageSorting;
         qDebug() << "sort by recent use";
     }
 
@@ -142,42 +128,31 @@ void StationListView::handleSortingChange(QAction *action)
     setSortingMode(mode);
 }
 
-void StationListView::setSortingMode(StationListView::SortingMode mode)
+void StationListView::setSortingMode(StationListProxyModel::SortingMode mode)
 {
     qDebug() << "setSorting Mode" << mode << "called";
     if (mode != m_sortingMode) {
-        m_sortingMode = mode;
-        filterModel->setRecentOnlyFilter(false);
-
         switch (mode) {
-        case AlphaSorting:
-            filterModel->setSortRole(Qt::DisplayRole);
+        case StationListProxyModel::AlphaSorting:
             ui->sortByNameAction->setChecked(true);
             break;
-        case DistanceSorting:
-            filterModel->setSortRole(StationListModel::PositionRole);
+        case StationListProxyModel::DistanceSorting:
             ui->sortByDistanceAction->setChecked(true);
             break;
-        case RecentUsageSorting:
+        case StationListProxyModel::RecentUsageSorting:
             ui->sortRecentFirstAction->setChecked(true);
-            filterModel->setRecentOnlyFilter(true);
             break;
-        case NoSorting:
+        case StationListProxyModel::NoSorting:
         default:
             break;
         }
-        if (mode == DistanceSorting) {
-            positionInfoSource->startUpdates();
-        } else {
-            positionInfoSource->stopUpdates();
-        }
-        filterModel->invalidate();
-        filterModel->sort(0);
-        emit sortingModeChanged(mode);
+        m_sortingMode = mode;
+        filterModel->setSortingMode(mode);
+
     }
 }
 
-StationListView::SortingMode StationListView::sortingMode()
+StationListProxyModel::SortingMode StationListView::sortingMode()
 {
     return m_sortingMode;
 }