Only update Geoposition when sorting by distance.
authorLuciano Montanaro <mikelima@cirulla.net>
Tue, 5 Jul 2011 21:19:15 +0000 (23:19 +0200)
committerLuciano Montanaro <mikelima@cirulla.net>
Tue, 5 Jul 2011 21:19:15 +0000 (23:19 +0200)
Updating the position when not sorting by distance only drains the
battery without any advantage.

application/stationlistview.cpp

index dbc1594..87c1cf9 100644 (file)
@@ -81,8 +81,6 @@ StationListView::StationListView(StationListModel *model, QWidget *parent) :
     if (positionInfoSource) {
         connect(positionInfoSource, SIGNAL(positionUpdated(QGeoPositionInfo)),
                 SLOT(updatePosition(QGeoPositionInfo)));
-        // Testing only: start updates rigt away.
-        positionInfoSource->startUpdates();
     }
 
     QSettings settings;
@@ -168,6 +166,11 @@ void StationListView::setSortingMode(StationListView::SortingMode mode)
         default:
             break;
         }
+        if (mode == DistanceSorting) {
+            positionInfoSource->startUpdates();
+        } else {
+            positionInfoSource->stopUpdates();
+        }
         filterModel->invalidate();
         filterModel->sort(0);
         emit sortingModeChanged(mode);