From: Luciano Montanaro Date: Thu, 2 Jun 2011 13:39:49 +0000 (+0200) Subject: Implement Position tracking X-Git-Tag: tags/0.3.4~32 X-Git-Url: https://vcs.maemo.org/git/?a=commitdiff_plain;h=317649b5b10829ff4e69b54c82a02f5201ce5daa;p=quandoparte Implement Position tracking Just trying to see if the Location API works --- diff --git a/application/app.cpp b/application/app.cpp index e5d6f3e..96a7e98 100644 --- a/application/app.cpp +++ b/application/app.cpp @@ -34,15 +34,22 @@ Boston, MA 02110-1301, USA. #include #include +#include + +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"); + connect(positionInfoSource, SIGNAL(positionUpdated(QGeoPositionInfo)), + stationListView, SLOT(updatePosition(QGeoPositionInfo))); connect(stationListView, SIGNAL(stationSelected(const QString &)), SLOT(queryStation(const QString &))); connect(stationListView, SIGNAL(aboutTriggered()), @@ -70,6 +77,9 @@ App::App(QObject *parent) : stationListView->show(); #endif } + + // Testing only: start updates rigt away. + positionInfoSource->startUpdates(); } App::~App() diff --git a/application/app.h b/application/app.h index 666eaa3..99d61eb 100644 --- a/application/app.h +++ b/application/app.h @@ -24,6 +24,8 @@ Boston, MA 02110-1301, USA. #include +#include + class QNetworkAccessManager; class QNetworkReply; @@ -31,6 +33,8 @@ class StationView; class StationListView; class StationListModel; +QTM_USE_NAMESPACE + class App : public QObject { Q_OBJECT @@ -55,6 +59,7 @@ public: private: QNetworkAccessManager *accessManager; QNetworkReply *stationQueryReply; + QGeoPositionInfoSource *positionInfoSource; StationView *stationView; StationListModel *stationListModel; StationListView *stationListView; diff --git a/application/stationlistview.cpp b/application/stationlistview.cpp index c89e0c1..21a00ac 100644 --- a/application/stationlistview.cpp +++ b/application/stationlistview.cpp @@ -159,3 +159,8 @@ void StationListView::handleFilterChanges(const QString &filter) ui->filterEdit->hide(); filterModel->setFilterFixedString(filter); } + +void StationListView::updatePosition(const QtMobility::QGeoPositionInfo &update) +{ + qDebug() << "Position update received" << update; +} diff --git a/application/stationlistview.h b/application/stationlistview.h index 308a277..88c6e27 100644 --- a/application/stationlistview.h +++ b/application/stationlistview.h @@ -3,6 +3,7 @@ #include #include +#include namespace Ui { class StationListView; @@ -16,6 +17,8 @@ class KeyPressForwarder; class StationView; class StationListModel; +QTM_USE_NAMESPACE + class StationListView : public QMainWindow { Q_OBJECT @@ -28,6 +31,9 @@ signals: void stationSelected(const QString &); void aboutTriggered(void); +public slots: + void updatePosition(const QGeoPositionInfo &update); + private slots: void showSettings(void); void showStation(const QModelIndex &index);