diff options
author | vbologa <vlad.bologa@nokia.com> | 2012-01-18 14:08:49 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-20 03:25:00 +0100 |
commit | 473a433aa3a37a92b6ba7b8c96070f9bf8f7fbc5 (patch) | |
tree | 4fc4d3f145cddefabace8440c9ab80b7cee05d11 /src | |
parent | f8ad34c861f4e55a33dabfb71c7eff7e0fb6b12d (diff) | |
download | qtlocation-473a433aa3a37a92b6ba7b8c96070f9bf8f7fbc5.tar.gz |
Implemented setUpdateInterval() for satellite info simulator backend
Change-Id: I68674b3b306120ad4ae83496cc8df9e29995574e
Reviewed-by: Alex <alex.blasche@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/location/qgeosatelliteinfosource_simulator.cpp | 22 | ||||
-rw-r--r-- | src/location/qgeosatelliteinfosource_simulator_p.h | 5 |
2 files changed, 22 insertions, 5 deletions
diff --git a/src/location/qgeosatelliteinfosource_simulator.cpp b/src/location/qgeosatelliteinfosource_simulator.cpp index e3559dc3..c5266f82 100644 --- a/src/location/qgeosatelliteinfosource_simulator.cpp +++ b/src/location/qgeosatelliteinfosource_simulator.cpp @@ -52,7 +52,6 @@ QGeoSatelliteInfoSourceSimulator::QGeoSatelliteInfoSourceSimulator(QObject *pare { Simulator::LocationConnection::ensureSimulatorConnection(); - timer->setInterval(5000); connect(timer, SIGNAL(timeout()), this, SLOT(updateData())); requestTimer->setSingleShot(true); connect(requestTimer, SIGNAL(timeout()), this, SLOT(updateData())); @@ -60,6 +59,10 @@ QGeoSatelliteInfoSourceSimulator::QGeoSatelliteInfoSourceSimulator(QObject *pare void QGeoSatelliteInfoSourceSimulator::startUpdates() { + int interval = updateInterval(); + if (interval < minimumUpdateInterval()) + interval = minimumUpdateInterval(); + timer->setInterval(interval); timer->start(); } @@ -80,9 +83,23 @@ void QGeoSatelliteInfoSourceSimulator::requestUpdate(int timeout) } } +void QGeoSatelliteInfoSourceSimulator::setUpdateInterval(int msec) +{ + // msec should be equal to or larger than the minimum update interval; 0 is a special case + // that currently behaves as if the interval is set to the minimum update interval + if (msec != 0 && msec < minimumUpdateInterval()) + msec = minimumUpdateInterval(); + + QGeoSatelliteInfoSource::setUpdateInterval(msec); + if (timer->isActive()) { + timer->setInterval(msec); + timer->start(); + } +} + int QGeoSatelliteInfoSourceSimulator::minimumUpdateInterval() const { - return 0; + return qtPositionInfo()->minimumInterval; } void QGeoSatelliteInfoSourceSimulator::updateData() @@ -109,4 +126,3 @@ void QGeoSatelliteInfoSourceSimulator::updateData() #include "moc_qgeosatelliteinfosource_simulator_p.cpp" QT_END_NAMESPACE - diff --git a/src/location/qgeosatelliteinfosource_simulator_p.h b/src/location/qgeosatelliteinfosource_simulator_p.h index aac06e02..d37fe465 100644 --- a/src/location/qgeosatelliteinfosource_simulator_p.h +++ b/src/location/qgeosatelliteinfosource_simulator_p.h @@ -60,13 +60,14 @@ class QGeoSatelliteInfoSourceSimulator : public QGeoSatelliteInfoSource public: explicit QGeoSatelliteInfoSourceSimulator(QObject *parent = 0); + virtual void setUpdateInterval(int msec); + virtual int minimumUpdateInterval() const; + public slots: virtual void startUpdates(); virtual void stopUpdates(); virtual void requestUpdate(int timeout = 5000); - virtual int minimumUpdateInterval() const; - private slots: void updateData(); |