diff options
author | Jim Ehrismann <jehrismann@blackberry.com> | 2013-12-17 12:18:28 -0500 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-17 08:22:35 +0100 |
commit | ca0ff22144a54215bc25dfe6f4d3a7fa18c6e928 (patch) | |
tree | 03eaee5a4ea89072fe07b385920275b379ba2148 | |
parent | 90e2764e2c54239a3ff5f0c877b6678a4b3d23c2 (diff) | |
download | qtlocation-ca0ff22144a54215bc25dfe6f4d3a7fa18c6e928.tar.gz |
QDeclarativePositionSource::{supported|preferred}PositioningMethods() always return AllPositioningMethods
Also added unit test for preferredPositioningMethods()
Change-Id: I28c1d5ce66987d3799d1d1cc97469112dd055a45
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
-rw-r--r-- | src/imports/positioning/qdeclarativepositionsource.cpp | 22 | ||||
-rw-r--r-- | tests/auto/declarative_core/tst_positionsource.qml | 9 |
2 files changed, 13 insertions, 18 deletions
diff --git a/src/imports/positioning/qdeclarativepositionsource.cpp b/src/imports/positioning/qdeclarativepositionsource.cpp index 1d1d3a15..a13092fc 100644 --- a/src/imports/positioning/qdeclarativepositionsource.cpp +++ b/src/imports/positioning/qdeclarativepositionsource.cpp @@ -464,14 +464,8 @@ int QDeclarativePositionSource::updateInterval() const QDeclarativePositionSource::PositioningMethods QDeclarativePositionSource::supportedPositioningMethods() const { if (m_positionSource) { - QGeoPositionInfoSource::PositioningMethods methods = m_positionSource->supportedPositioningMethods(); - if ( (methods & QGeoPositionInfoSource::AllPositioningMethods) == methods ) { - return QDeclarativePositionSource::AllPositioningMethods; - } else if (methods & QGeoPositionInfoSource::SatellitePositioningMethods) { - return QDeclarativePositionSource::SatellitePositioningMethods; - } else if (methods & QGeoPositionInfoSource::NonSatellitePositioningMethods) { - return QDeclarativePositionSource::NonSatellitePositioningMethods; - } + return static_cast<QDeclarativePositionSource::PositioningMethods>( + int(m_positionSource->supportedPositioningMethods())); } return QDeclarativePositionSource::NoPositioningMethods; } @@ -515,16 +509,8 @@ void QDeclarativePositionSource::setPreferredPositioningMethods(PositioningMetho QDeclarativePositionSource::PositioningMethods QDeclarativePositionSource::preferredPositioningMethods() const { if (m_positionSource) { - QGeoPositionInfoSource::PositioningMethods methods = - m_positionSource->preferredPositioningMethods(); - if ( (methods & QGeoPositionInfoSource::AllPositioningMethods) == methods) { - return QDeclarativePositionSource::AllPositioningMethods; - } else if (methods & QGeoPositionInfoSource::SatellitePositioningMethods) { - return QDeclarativePositionSource::SatellitePositioningMethods; - } else if (methods & QGeoPositionInfoSource::NonSatellitePositioningMethods) { - return QDeclarativePositionSource::NonSatellitePositioningMethods; - } else if (methods == QGeoPositionInfoSource::NoPositioningMethods) - return QDeclarativePositionSource::NoPositioningMethods; + return static_cast<QDeclarativePositionSource::PositioningMethods>( + int(m_positionSource->preferredPositioningMethods())); } return m_preferredPositioningMethods; } diff --git a/tests/auto/declarative_core/tst_positionsource.qml b/tests/auto/declarative_core/tst_positionsource.qml index 259c77ff..6cf99d04 100644 --- a/tests/auto/declarative_core/tst_positionsource.qml +++ b/tests/auto/declarative_core/tst_positionsource.qml @@ -127,6 +127,15 @@ TestCase { compare(testingSource.updateInterval, 1000); } + function test_preferredPositioningMethods() { + testingSource.preferredPositioningMethods = PositionSource.AllPositioningMethods; + compare(testingSource.preferredPositioningMethods, PositionSource.AllPositioningMethods); + testingSource.preferredPositioningMethods = PositionSource.SatellitePositioningMethods; + compare(testingSource.preferredPositioningMethods, PositionSource.SatellitePositioningMethods); + testingSource.preferredPositioningMethods = PositionSource.NonSatellitePositioningMethods; + compare(testingSource.preferredPositioningMethods, PositionSource.NonSatellitePositioningMethods); + } + function test_updates() { updateSpy.clear(); |