Refactored QGeoPositionInfoSource usage
authorLuciano Montanaro <mikelima@cirulla.net>
Sun, 19 Jun 2011 19:01:52 +0000 (21:01 +0200)
committerLuciano Montanaro <mikelima@cirulla.net>
Sun, 19 Jun 2011 19:01:52 +0000 (21:01 +0200)
Moved references to the Geolocation classes to the station list view.

application/app.cpp
application/app.h
application/stationlistview.cpp
application/stationlistview.h

index e9dab12..95eeb2d 100644 (file)
@@ -44,17 +44,12 @@ QTM_USE_NAMESPACE
 App::App(QObject *parent) :
     QObject(parent),
     accessManager(new QNetworkAccessManager(this)),
-    positionInfoSource(QGeoPositionInfoSource::createDefaultSource(this)),
     stationView(new StationView()),
     stationListModel(new StationListModel(this)),
     stationListView(new StationListView(stationListModel, stationView))
 {
     stationListModel->load(dataDir() + "stations/stations.qpl");
 
-    if (positionInfoSource) {
-        connect(positionInfoSource, SIGNAL(positionUpdated(QGeoPositionInfo)),
-                stationListView, SLOT(updatePosition(QGeoPositionInfo)));
-    }
     connect(stationListView, SIGNAL(stationSelected(const QString &)),
             SLOT(queryStation(const QString &)));
 
@@ -80,11 +75,6 @@ App::App(QObject *parent) :
     } else {
         queryStation(recentStations.front());
     }
-
-    // Testing only: start updates rigt away.
-    if (positionInfoSource) {
-        positionInfoSource->startUpdates();
-    }
 }
 
 App::~App()
index adf5f90..65f0889 100644 (file)
@@ -25,8 +25,6 @@ Boston, MA 02110-1301, USA.
 #include <QApplication>
 #include <QStringList>
 
-#include <QGeoPositionInfoSource>
-
 class QNetworkAccessManager;
 class QNetworkReply;
 
@@ -34,8 +32,6 @@ class StationView;
 class StationListView;
 class StationListModel;
 
-QTM_USE_NAMESPACE
-
 class App : public QObject
 {
     Q_OBJECT
@@ -59,7 +55,6 @@ public:
 private:
     QNetworkAccessManager *accessManager;
     QNetworkReply *stationQueryReply;
-    QGeoPositionInfoSource *positionInfoSource;
     StationView *stationView;
     StationListModel *stationListModel;
     StationListView *stationListView;
index 34a2306..dd916d9 100644 (file)
@@ -40,6 +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)
 
 {
@@ -72,6 +73,13 @@ StationListView::StationListView(StationListModel *model, QWidget *parent) :
     connect(viewSelectionGroup, SIGNAL(triggered(QAction*)),
             SLOT(handleSortingChange(QAction*)));
 
+    if (positionInfoSource) {
+        connect(positionInfoSource, SIGNAL(positionUpdated(QGeoPositionInfo)),
+                SLOT(updatePosition(QGeoPositionInfo)));
+        // Testing only: start updates rigt away.
+        positionInfoSource->startUpdates();
+    }
+
     QSettings settings;
     SortingMode mode = static_cast<SortingMode>(
                 settings.value("StationListView/SortingMode",
index 6da9b3c..672577e 100644 (file)
@@ -58,6 +58,7 @@ private:
     StationListModel *stationListModel;
     StationListProxyModel *filterModel;
     KeyPressForwarder *keyPressForwarder;
+    QGeoPositionInfoSource *positionInfoSource;
     SortingMode m_sortingMode;
 };