From 332b36a82df69f21b1cd5392ab424aced3fd9554 Mon Sep 17 00:00:00 2001 From: Luciano Montanaro Date: Sun, 29 Jan 2012 22:58:19 +0100 Subject: [PATCH] Mitigate GPS polling slowdown Polling should be disabled altogether when the station list view is not visible. I will do that at another time. --- application/stationlistproxymodel.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/application/stationlistproxymodel.cpp b/application/stationlistproxymodel.cpp index da2152b..3a693cd 100644 --- a/application/stationlistproxymodel.cpp +++ b/application/stationlistproxymodel.cpp @@ -46,6 +46,7 @@ StationListProxyModel::StationListProxyModel(QObject *parent) : qDebug() << "position info source available"; connect(positionInfoSource, SIGNAL(positionUpdated(QGeoPositionInfo)), SLOT(updatePosition(QGeoPositionInfo))); + positionInfoSource->setUpdateInterval(5000); } else { qDebug() << "No position info source available"; } @@ -173,7 +174,12 @@ void StationListProxyModel::forceSortingMode(SortingMode mode) void StationListProxyModel::updatePosition(const QtMobility::QGeoPositionInfo &update) { qDebug() << "Position update received" << update; - setUserPosition(update.coordinate()); - invalidate(); - sort(0); + if (update.isValid()) { + QGeoCoordinate newPosition = update.coordinate(); + if (newPosition.distanceTo(m_here) > 50.0) { + setUserPosition(update.coordinate()); + invalidate(); + sort(0); + } + } } -- 1.7.9.5