summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvbologa <vlad.bologa@nokia.com>2012-01-18 14:08:49 +0100
committerQt by Nokia <qt-info@nokia.com>2012-01-20 03:25:00 +0100
commit473a433aa3a37a92b6ba7b8c96070f9bf8f7fbc5 (patch)
tree4fc4d3f145cddefabace8440c9ab80b7cee05d11
parentf8ad34c861f4e55a33dabfb71c7eff7e0fb6b12d (diff)
downloadqtlocation-473a433aa3a37a92b6ba7b8c96070f9bf8f7fbc5.tar.gz
Implemented setUpdateInterval() for satellite info simulator backend
Change-Id: I68674b3b306120ad4ae83496cc8df9e29995574e Reviewed-by: Alex <alex.blasche@nokia.com>
-rw-r--r--src/location/qgeosatelliteinfosource_simulator.cpp22
-rw-r--r--src/location/qgeosatelliteinfosource_simulator_p.h5
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();