diff options
author | Jan Mulder <jlmulder@xs4all.nl> | 2017-07-25 11:44:30 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-07-25 22:12:19 +0900 |
commit | fd03621a4b1e82c218dddbc7e833838ef3fdf7be (patch) | |
tree | ba33425f62edc73f738e4f4c832560ce28b273b6 /core | |
parent | adb4b66a055ca809b0a78c08f37d7feefe44e947 (diff) | |
download | subsurface-fd03621a4b1e82c218dddbc7e833838ef3fdf7be.tar.gz |
Mobile: honour location service time threshold
Independ of the settings, the threshold to reset the GPS data was
hard coded to 5 minutes. Now, honour the entered (and updated during
a session) time to refresh the GPS data in the location service.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
Diffstat (limited to 'core')
-rw-r--r-- | core/gpslocation.cpp | 10 | ||||
-rw-r--r-- | core/gpslocation.h | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/core/gpslocation.cpp b/core/gpslocation.cpp index 30b101419..a823a9124 100644 --- a/core/gpslocation.cpp +++ b/core/gpslocation.cpp @@ -56,6 +56,14 @@ GpsLocation::~GpsLocation() m_Instance = NULL; } +void GpsLocation::setGpsTimeThreshold(int seconds) +{ + if (m_GpsSource) { + m_GpsSource->setUpdateInterval(seconds * 1000); + status(QString("Set GPS service update interval to %1").arg(m_GpsSource->updateInterval())); + } +} + QGeoPositionInfoSource *GpsLocation::getGpsSource() { if (haveSource == NOGPS) @@ -86,7 +94,7 @@ QGeoPositionInfoSource *GpsLocation::getGpsSource() connect(m_GpsSource, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(newPosition(QGeoPositionInfo))); connect(m_GpsSource, SIGNAL(updateTimeout()), this, SLOT(updateTimeout())); connect(m_GpsSource, SIGNAL(error(QGeoPositionInfoSource::Error)), this, SLOT(positionSourceError(QGeoPositionInfoSource::Error))); - m_GpsSource->setUpdateInterval(5 * 60 * 1000); // 5 minutes so the device doesn't drain the battery + setGpsTimeThreshold(prefs.time_threshold); } else { #ifdef SUBSURFACE_MOBILE status("don't have GPS source"); diff --git a/core/gpslocation.h b/core/gpslocation.h index 9922997f1..efb1b34df 100644 --- a/core/gpslocation.h +++ b/core/gpslocation.h @@ -33,6 +33,7 @@ public: QString getUserid(QString user, QString passwd); bool hasLocationsSource(); QString currentPosition(); + void setGpsTimeThreshold(int seconds); QMap<qint64, gpsTracker> currentGPSInfo() const; |