summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Ehrismann <jehrismann@blackberry.com>2013-12-17 12:18:28 -0500
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-17 08:22:35 +0100
commitca0ff22144a54215bc25dfe6f4d3a7fa18c6e928 (patch)
tree03eaee5a4ea89072fe07b385920275b379ba2148
parent90e2764e2c54239a3ff5f0c877b6678a4b3d23c2 (diff)
downloadqtlocation-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.cpp22
-rw-r--r--tests/auto/declarative_core/tst_positionsource.qml9
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();