summaryrefslogtreecommitdiff
path: root/src/imports/positioning/positioning.cpp
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@digia.com>2013-10-11 16:43:21 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-14 13:18:16 +0200
commit997e06d80c095ac994391bfb5d69c5ec9a52a11f (patch)
tree19d8d15e4bdc23ba647562dbd64c92333c07ce37 /src/imports/positioning/positioning.cpp
parente200f05bc75d8f19df624bc3849d9c5bbf096873 (diff)
downloadqtlocation-997e06d80c095ac994391bfb5d69c5ec9a52a11f.tar.gz
Add proper version to QtPositioning and its QML API.
The QML API remains available under 5.0 though. Change-Id: I037b82e5b12825db610e8458d6c82122ecde4f44 Reviewed-by: Erik Mattsson <erik.mattsson@appello.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Diffstat (limited to 'src/imports/positioning/positioning.cpp')
-rw-r--r--src/imports/positioning/positioning.cpp34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/imports/positioning/positioning.cpp b/src/imports/positioning/positioning.cpp
index 031b06b2..0804a8ce 100644
--- a/src/imports/positioning/positioning.cpp
+++ b/src/imports/positioning/positioning.cpp
@@ -92,26 +92,38 @@ class QLocationDeclarativeModule: public QQmlExtensionPlugin
public:
virtual void registerTypes(const char *uri)
{
- if (QLatin1String(uri) == QLatin1String("QtPositioning")) {
+ if (QLatin1String(uri) == QStringLiteral("QtPositioning")) {
// @uri QtPositioning 5.0
- qmlRegisterSingletonType<LocationSingleton>(uri, 5, 0, "QtPositioning", singleton_type_factory);
-
- QQml_addValueTypeProvider(getValueTypeProvider());
- qmlRegisterValueTypeEnums<GeoShapeValueType>(uri, 5, 0, "GeoShape");
-
- qmlRegisterType<QDeclarativePosition>(uri, 5, 0, "Position");
- qmlRegisterType<QDeclarativePositionSource>(uri, 5, 0, "PositionSource");
- qmlRegisterType<QDeclarativeGeoAddress>(uri, 5, 0, "Address");
-
- qmlRegisterType<QDeclarativeGeoLocation>(uri, 5, 0, "Location");
+ int major = 5;
+ int minor = 0;
qRegisterMetaType<QGeoCoordinate>("QGeoCoordinate");
qRegisterMetaType<QGeoAddress>("QGeoAddress");
qRegisterMetaType<QGeoRectangle>("QGeoRectangle");
qRegisterMetaType<QGeoCircle>("QGeoCircle");
qRegisterMetaType<QGeoLocation>("QGeoLocation");
+
+ QQml_addValueTypeProvider(getValueTypeProvider());
+
+ // Register the 5.0 types
+ // 5.0 is silent and not advertised
+ qmlRegisterSingletonType<LocationSingleton >(uri, major, minor, "QtPositioning", singleton_type_factory);
+ qmlRegisterValueTypeEnums<GeoShapeValueType >(uri, major, minor, "GeoShape");
+ qmlRegisterType<QDeclarativePosition >(uri, major, minor, "Position");
+ qmlRegisterType<QDeclarativePositionSource >(uri, major, minor, "PositionSource");
+ qmlRegisterType<QDeclarativeGeoAddress >(uri, major, minor, "Address");
+ qmlRegisterType<QDeclarativeGeoLocation >(uri, major, minor, "Location");
+
+ // Register the 5.2 types
+ minor = 2;
+ qmlRegisterSingletonType<LocationSingleton >(uri, major, minor, "QtPositioning", singleton_type_factory);
+ qmlRegisterValueTypeEnums<GeoShapeValueType >(uri, major, minor, "GeoShape");
+ qmlRegisterType<QDeclarativePosition >(uri, major, minor, "Position");
+ qmlRegisterType<QDeclarativePositionSource >(uri, major, minor, "PositionSource");
+ qmlRegisterType<QDeclarativeGeoAddress >(uri, major, minor, "Address");
+ qmlRegisterType<QDeclarativeGeoLocation >(uri, major, minor, "Location");
} else {
qDebug() << "Unsupported URI given to load positioning QML plugin: " << QLatin1String(uri);
}