diff options
author | Sergio Ahumada <sahumada@blackberry.com> | 2014-03-10 17:37:49 +0100 |
---|---|---|
committer | Sergio Ahumada <sahumada@blackberry.com> | 2014-03-10 17:37:49 +0100 |
commit | bacc237f032bebe51c436760d31e4a804c3ee034 (patch) | |
tree | 70de5721ca73a12e0c1bb4cc16082d6b10102493 /src/imports | |
parent | 9c6030845af9b31251182ee3d91186e18d939e9a (diff) | |
parent | 5f0023a7469e01bada70fbe677b76bb535eaa953 (diff) | |
download | qtlocation-bacc237f032bebe51c436760d31e4a804c3ee034.tar.gz |
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I06fe61d44bce186a118978f17fb66d6fc2cdd543
Diffstat (limited to 'src/imports')
27 files changed, 200 insertions, 381 deletions
diff --git a/src/imports/location/declarativeplaces/qdeclarativeplace.cpp b/src/imports/location/declarativeplaces/qdeclarativeplace.cpp index 985de8db..ce57d335 100644 --- a/src/imports/location/declarativeplaces/qdeclarativeplace.cpp +++ b/src/imports/location/declarativeplaces/qdeclarativeplace.cpp @@ -1187,7 +1187,7 @@ QPlaceManager *QDeclarativePlace::manager() } if (!m_plugin) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, PLUGIN_NOT_ASSIGNED_TO_PLACE); + qmlInfo(this) << QStringLiteral("Plugin is not assigned to place."); return 0; } diff --git a/src/imports/location/declarativeplaces/qdeclarativeplaceicon.cpp b/src/imports/location/declarativeplaces/qdeclarativeplaceicon.cpp index a2906916..ae42b626 100644 --- a/src/imports/location/declarativeplaces/qdeclarativeplaceicon.cpp +++ b/src/imports/location/declarativeplaces/qdeclarativeplaceicon.cpp @@ -221,7 +221,7 @@ void QDeclarativePlaceIcon::pluginReady() QPlaceManager *QDeclarativePlaceIcon::manager() const { if (!m_plugin) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, PLUGIN_NOT_ASSIGNED_TO_PLACE_ICON); + qmlInfo(this) << QStringLiteral("Plugin is not assigned to place."); return 0; } diff --git a/src/imports/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp b/src/imports/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp index cfff8d2e..8e939ae3 100644 --- a/src/imports/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp +++ b/src/imports/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp @@ -158,7 +158,7 @@ QT_USE_NAMESPACE Updates the model based on the provided query parameters. The model will be populated with a list of search suggestions for the partial \l searchTerm and \l searchArea. If the \l plugin - supports it, other paramaters such as \l limit and \l offset may be specified. \c update() + supports it, other parameters such as \l limit and \l offset may be specified. \c update() submits the set of parameters to the \l plugin to process. diff --git a/src/imports/location/declarativeplaces/qdeclarativesupportedcategoriesmodel.cpp b/src/imports/location/declarativeplaces/qdeclarativesupportedcategoriesmodel.cpp index 38a73f2e..7d50af7e 100644 --- a/src/imports/location/declarativeplaces/qdeclarativesupportedcategoriesmodel.cpp +++ b/src/imports/location/declarativeplaces/qdeclarativesupportedcategoriesmodel.cpp @@ -111,7 +111,7 @@ QT_USE_NAMESPACE \qmlmethod string QtLocation::CategoryModel::data(ModelIndex index, int role) \internal - This method retrieves the the model's data per \a index and \a role. + This method retrieves the model's data per \a index and \a role. */ /*! @@ -263,12 +263,12 @@ void QDeclarativeSupportedCategoriesModel::setPlugin(QDeclarativeGeoServiceProvi if (serviceProvider) { QPlaceManager *placeManager = serviceProvider->placeManager(); if (placeManager) { - disconnect(placeManager, SIGNAL(categoryAdded(QPlaceCategory, QString)), - this, SLOT(addedCategory(QPlaceCategory, QString))); - disconnect(placeManager, SIGNAL(categoryUpdated(QPlaceCategory, QString)), - this, SLOT(updatedCategory(QPlaceCategory, QString))); - disconnect(placeManager, SIGNAL(categoryRemoved(QString, QString)), - this, SLOT(removedCategory(QString, QString))); + disconnect(placeManager, SIGNAL(categoryAdded(QPlaceCategory,QString)), + this, SLOT(addedCategory(QPlaceCategory,QString))); + disconnect(placeManager, SIGNAL(categoryUpdated(QPlaceCategory,QString)), + this, SLOT(updatedCategory(QPlaceCategory,QString))); + disconnect(placeManager, SIGNAL(categoryRemoved(QString,QString)), + this, SLOT(removedCategory(QString,QString))); disconnect(placeManager, SIGNAL(dataChanged()), this, SIGNAL(dataChanged())); } @@ -479,12 +479,12 @@ void QDeclarativeSupportedCategoriesModel::connectNotificationSignals() // listen for any category notifications so that we can reupdate the categories // model. - connect(placeManager, SIGNAL(categoryAdded(QPlaceCategory, QString)), - this, SLOT(addedCategory(QPlaceCategory, QString))); - connect(placeManager, SIGNAL(categoryUpdated(QPlaceCategory, QString)), - this, SLOT(updatedCategory(QPlaceCategory, QString))); - connect(placeManager, SIGNAL(categoryRemoved(QString, QString)), - this, SLOT(removedCategory(QString, QString))); + connect(placeManager, SIGNAL(categoryAdded(QPlaceCategory,QString)), + this, SLOT(addedCategory(QPlaceCategory,QString))); + connect(placeManager, SIGNAL(categoryUpdated(QPlaceCategory,QString)), + this, SLOT(updatedCategory(QPlaceCategory,QString))); + connect(placeManager, SIGNAL(categoryRemoved(QString,QString)), + this, SLOT(removedCategory(QString,QString))); connect(placeManager, SIGNAL(dataChanged()), this, SIGNAL(dataChanged())); } diff --git a/src/imports/location/error_messages.cpp b/src/imports/location/error_messages.cpp index 208a1d32..7a400fff 100644 --- a/src/imports/location/error_messages.cpp +++ b/src/imports/location/error_messages.cpp @@ -44,47 +44,18 @@ QT_BEGIN_NAMESPACE const char CONTEXT_NAME[] = "QtLocationQML"; -const char PLUGIN_DOESNOT_SUPPORT_ROUTING[] = QT_TRANSLATE_NOOP("QtLocationQML", "Error: Plugin does not support routing.\nError message: %1"); -const char PLUGIN_DOESNOT_SUPPORT_MAPPING[] = QT_TRANSLATE_NOOP("QtLocationQML", "Error: Plugin does not support mapping.\nError message: %1"); -const char PLUGIN_DOESNOT_SUPPORT_GEOCODING[] = QT_TRANSLATE_NOOP("QtLocationQML", "Error: Plugin does not support (reverse) geocoding.\nError message: %1"); +//to-be-translated error string -const char NOT_SUPPORTED_BY[] = QT_TRANSLATE_NOOP("QtLocationQML", "%1 not supported by %2 plugin."); const char PLUGIN_PROPERTY_NOT_SET[] = QT_TRANSLATE_NOOP("QtLocationQML", "Plugin property is not set."); const char PLUGIN_ERROR[] = QT_TRANSLATE_NOOP("QtLocationQML", "Plugin Error (%1): %2"); -const char PLUGIN_PROVIDER_ERROR[] = QT_TRANSLATE_NOOP("QtLocationQML", "Plugin Error (%1): Could not instantiate provider %1"); +const char PLUGIN_PROVIDER_ERROR[] = QT_TRANSLATE_NOOP("QtLocationQML", "Plugin Error (%1): Could not instantiate provider"); const char PLUGIN_NOT_VALID[] = QT_TRANSLATE_NOOP("QtLocationQML", "Plugin is not valid"); -const char PLUGIN_NOT_ASSIGNED_TO_PLACE[] = QT_TRANSLATE_NOOP("QtLocationQML", "Plugin is not assigned to place."); -const char PLUGIN_NOT_ASSIGNED_TO_PLACE_ICON[] = QT_TRANSLATE_NOOP("QtLocationQML", "Plugin is not assigned to place icon."); const char CATEGORIES_NOT_INITIALIZED[] = QT_TRANSLATE_NOOP("QtLocationQML", "Unable to initialize categories"); -const char NOT_INSTANTIABLE_BY_DEVELOPER[] = QT_TRANSLATE_NOOP("QtLocationQML", "%1 is not intended instantiable by developer."); - -const char UNSUPPORTED_BOUND_TYPE[] = QT_TRANSLATE_NOOP("QtLocationQML", "Unsupported bound type (Box and Circle supported)"); -const char UNSUPPORTED_QUERY_TYPE[] = QT_TRANSLATE_NOOP("QtLocationQML", "Unsupported query type for geocode model (coordinate, string and Address supported)."); -const char PLUGIN_SET_ONCE[] = QT_TRANSLATE_NOOP("QtLocationQML", "Plugin is a write-once property, and cannot be set again."); - -const char PINCH_ROTATE_GESTURE_ACTIVATED[] = QT_TRANSLATE_NOOP("QtLocationQML", "Pinchrotation gesture activated. Note that it is experimental feature."); -const char PINCH_TILT_GESTURE_ACTIVATED[] = QT_TRANSLATE_NOOP("QtLocationQML", "Pinchtilt gesture activated. Note that it is experimental feature."); - -const char INDEX_INVALID[] = QT_TRANSLATE_NOOP("QtLocationQML", "Error, invalid index for get(): %1"); -const char INDEX_OUT_OF_RANGE[] = QT_TRANSLATE_NOOP("QtLocationQML", "Error, too big or small index in get(): %1"); - -const char MODEL_INDEX_INVALID[] = QT_TRANSLATE_NOOP("QtLocationQML", "Error in indexing route model's data (invalid index)."); -const char MODEL_INDEX_OUT_OF_RANGE[] = QT_TRANSLATE_NOOP("QtLocationQML", "Fatal error in indexing route model's data (index overflow)."); - -const char GEOCODE_PLUGIN_NOT_SET[] = QT_TRANSLATE_NOOP("QtLocationQML", "Cannot geocode, plugin not set."); -const char GEOCODE_MGR_NOT_SET[] = QT_TRANSLATE_NOOP("QtLocationQML", "Cannot geocode, geocode manager not set."); -const char GEOCODE_QUERY_NOT_SET[] = QT_TRANSLATE_NOOP("QtLocationQML", "Cannot geocode, valid query not set."); - -const char ROUTE_PLUGIN_NOT_SET[] = QT_TRANSLATE_NOOP("QtLocationQML", "Cannot route, plugin not set."); -const char ROUTE_MGR_NOT_SET[] = QT_TRANSLATE_NOOP("QtLocationQML", "Cannot route, route manager not set."); -const char ROUTE_QUERY_NOT_SET[] = QT_TRANSLATE_NOOP("QtLocationQML", "Cannot route, valid query not set."); -const char ROUTE_WAYPOINTS_NOT_SET[] = QT_TRANSLATE_NOOP("QtLocationQML", "Not enough waypoints for routing."); - -const char CANNOT_REMOVE_AREA[] = QT_TRANSLATE_NOOP("QtLocationQML", "Cannot remove nonexistent area."); -const char CANNOT_ADD_INVALID_WAYPOINT[] = QT_TRANSLATE_NOOP("QtLocationQML", "Not adding invalid waypoint."); -const char CANNOT_REMOVE_WAYPOINT[] = QT_TRANSLATE_NOOP("QtLocationQML", "Cannot remove nonexistent waypoint."); -const char COORD_NOT_BELONG_TO[] = QT_TRANSLATE_NOOP("QtLocationQML", "Coordinate does not belong to %1"); -const char MISSED_NMEA_FILE[] = QT_TRANSLATE_NOOP("QtLocationQML", "Nmea file not found."); const char UNABLE_TO_MAKE_REQUEST[]= QT_TRANSLATE_NOOP("QtLocationQML", "Unable to create request"); +//often used but only visible to developer -> no translation required +const char ROUTE_PLUGIN_NOT_SET[] = "Cannot route, plugin not set."; +const char ROUTE_MGR_NOT_SET[] = "Cannot route, route manager not set."; +const char COORD_NOT_BELONG_TO[] = "Coordinate does not belong to %1"; + QT_END_NAMESPACE diff --git a/src/imports/location/error_messages.h b/src/imports/location/error_messages.h index 07da92e9..62a71442 100644 --- a/src/imports/location/error_messages.h +++ b/src/imports/location/error_messages.h @@ -1,4 +1,3 @@ - /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). @@ -48,45 +47,17 @@ QT_BEGIN_NAMESPACE extern const char CONTEXT_NAME[]; -extern const char PLUGIN_DOESNOT_SUPPORT_MAPPING[]; -extern const char PLUGIN_DOESNOT_SUPPORT_ROUTING[]; -extern const char PLUGIN_DOESNOT_SUPPORT_GEOCODING[]; - extern const char PLUGIN_PROPERTY_NOT_SET[]; extern const char PLUGIN_ERROR[]; extern const char PLUGIN_PROVIDER_ERROR[]; extern const char PLUGIN_NOT_VALID[]; -extern const char PLUGIN_NOT_ASSIGNED_TO_PLACE[]; -extern const char PLUGIN_NOT_ASSIGNED_TO_PLACE_ICON[]; -extern const char CATEGORIES_NOT_INITIALIZED[]; -extern const char NOT_INSTANTIABLE_BY_DEVELOPER[]; - -extern const char UNSUPPORTED_BOUND_TYPE[]; -extern const char UNSUPPORTED_QUERY_TYPE[]; -extern const char PLUGIN_SET_ONCE[]; -extern const char PINCH_ROTATE_GESTURE_ACTIVATED[]; -extern const char PINCH_TILT_GESTURE_ACTIVATED[]; - -extern const char INDEX_INVALID[]; -extern const char INDEX_OUT_OF_RANGE[]; -extern const char MODEL_INDEX_INVALID[]; -extern const char MODEL_INDEX_OUT_OF_RANGE[]; - -extern const char GEOCODE_PLUGIN_NOT_SET[]; -extern const char GEOCODE_MGR_NOT_SET[]; -extern const char GEOCODE_QUERY_NOT_SET[]; +extern const char CATEGORIES_NOT_INITIALIZED[]; extern const char ROUTE_PLUGIN_NOT_SET[]; extern const char ROUTE_MGR_NOT_SET[]; -extern const char ROUTE_QUERY_NOT_SET[]; -extern const char ROUTE_WAYPOINTS_NOT_SET[]; -extern const char CANNOT_REMOVE_AREA[]; -extern const char CANNOT_ADD_INVALID_WAYPOINT[]; -extern const char CANNOT_REMOVE_WAYPOINT[]; extern const char COORD_NOT_BELONG_TO[]; -extern const char MISSED_NMEA_FILE[]; extern const char UNABLE_TO_MAKE_REQUEST[]; QT_END_NAMESPACE diff --git a/src/imports/location/location.cpp b/src/imports/location/location.cpp index 9f68178e..8af789b8 100644 --- a/src/imports/location/location.cpp +++ b/src/imports/location/location.cpp @@ -91,59 +91,74 @@ class QLocationDeclarativeModule: public QQmlExtensionPlugin public: virtual void registerTypes(const char *uri) { - if (QLatin1String(uri) == QLatin1String("QtMobility.location")) { - qWarning("QtMobility.location is not supported. Use QtLocation instead."); - } else if (QLatin1String(uri) == QLatin1String("Qt.location")) { - qWarning("Qt.location is not supported. Use QtLocation instead."); - } else if (QLatin1String(uri) == QLatin1String("QtLocation")) { - - // @uri QtLocation 5.0 - - qmlRegisterType<QDeclarativeGeoServiceProvider>(uri, 5, 0, "Plugin"); - qmlRegisterType<QDeclarativeGeoServiceProviderParameter>(uri, 5, 0, "PluginParameter"); - qmlRegisterUncreatableType<QDeclarativeGeoServiceProviderRequirements>(uri, 5, 0, "PluginRequirements", QCoreApplication::translate(CONTEXT_NAME, NOT_INSTANTIABLE_BY_DEVELOPER).arg("PluginRequirements")); - qmlRegisterType<QDeclarativeGeoMap>(uri, 5, 0, "Map"); - - qmlRegisterUncreatableType<QDeclarativeGeoMapItemBase>(uri, 5, 0, "GeoMapItemBase", QCoreApplication::translate(CONTEXT_NAME, NOT_INSTANTIABLE_BY_DEVELOPER).arg("GeoMapItemBase")); - qmlRegisterType<QDeclarativeGeoMapQuickItem>(uri, 5, 0, "MapQuickItem"); - qmlRegisterType<QDeclarativeGeoMapItemView>(uri, 5, 0, "MapItemView"); - - qmlRegisterType<QDeclarativeGeocodeModel>(uri, 5, 0, "GeocodeModel"); // geocoding and reverse geocoding - qmlRegisterType<QDeclarativeGeoRouteModel>(uri, 5, 0, "RouteModel"); - qmlRegisterType<QDeclarativeGeoRouteQuery>(uri, 5, 0, "RouteQuery"); - qmlRegisterType<QDeclarativeGeoRoute>(uri, 5, 0, "Route"); // data type - qmlRegisterType<QDeclarativeGeoRouteSegment>(uri, 5, 0, "RouteSegment"); - qmlRegisterType<QDeclarativeGeoManeuver>(uri, 5, 0, "RouteManeuver"); - qmlRegisterUncreatableType<QDeclarativeGeoMapPinchEvent>(uri, 5, 0, "MapPinchEvent", QCoreApplication::translate(CONTEXT_NAME, NOT_INSTANTIABLE_BY_DEVELOPER).arg("(Map)PinchEvent")); - qmlRegisterUncreatableType<QDeclarativeGeoMapGestureArea>(uri, 5, 0, "MapGestureArea", QCoreApplication::translate(CONTEXT_NAME, NOT_INSTANTIABLE_BY_DEVELOPER).arg("(Map)GestureArea")); - qmlRegisterUncreatableType<QDeclarativeGeoMapType>(uri, 5, 0, "MapType", QCoreApplication::translate(CONTEXT_NAME, NOT_INSTANTIABLE_BY_DEVELOPER).arg("MapType")); - qmlRegisterType<QDeclarativeCategory>(uri, 5, 0, "Category"); - qmlRegisterType<QDeclarativePlaceEditorialModel>(uri, 5, 0, "EditorialModel"); - qmlRegisterType<QDeclarativePlaceImageModel>(uri, 5, 0, "ImageModel"); - qmlRegisterType<QDeclarativePlace>(uri, 5, 0, "Place"); - qmlRegisterType<QDeclarativePlaceIcon>(uri, 5, 0, "Icon"); - qmlRegisterType<QDeclarativeRatings>(uri, 5, 0, "Ratings"); - qmlRegisterType<QDeclarativeReviewModel>(uri, 5, 0, "ReviewModel"); - qmlRegisterType<QDeclarativeSupplier>(uri, 5, 0, "Supplier"); - qmlRegisterType<QDeclarativePlaceUser>(uri, 5, 0, "User"); - qmlRegisterType<QDeclarativeRectangleMapItem>(uri, 5, 0, "MapRectangle"); - qmlRegisterType<QDeclarativeCircleMapItem>(uri, 5, 0, "MapCircle"); + if (QLatin1String(uri) == QLatin1String("QtLocation")) { + + // @uri QtLocation + int major = 5; + int minor = 0; + + // Register the 5.0 types + // 5.0 is siltent and not advertised + + qmlRegisterType<QDeclarativeGeoServiceProvider >(uri, major, minor, "Plugin"); + qmlRegisterType<QDeclarativeGeoServiceProviderParameter >(uri, major, minor, "PluginParameter"); + qmlRegisterUncreatableType<QDeclarativeGeoServiceProviderRequirements>(uri, major, minor, "PluginRequirements", + QStringLiteral("PluginRequirements is not intended instantiable by developer.")); + qmlRegisterType<QDeclarativeGeoMap >(uri, major, minor, "Map"); + + qmlRegisterUncreatableType<QDeclarativeGeoMapItemBase >(uri, major, minor, "GeoMapItemBase", + QStringLiteral("HeoMapItemBase is not intended instantiable by developer.")); + qmlRegisterType<QDeclarativeGeoMapQuickItem >(uri, major, minor, "MapQuickItem"); + qmlRegisterType<QDeclarativeGeoMapItemView >(uri, major, minor, "MapItemView"); + + qmlRegisterType<QDeclarativeGeocodeModel >(uri, major, minor, "GeocodeModel"); // geocoding and reverse geocoding + qmlRegisterType<QDeclarativeGeoRouteModel >(uri, major, minor, "RouteModel"); + qmlRegisterType<QDeclarativeGeoRouteQuery >(uri, major, minor, "RouteQuery"); + qmlRegisterType<QDeclarativeGeoRoute >(uri, major, minor, "Route"); // data type + qmlRegisterType<QDeclarativeGeoRouteSegment >(uri, major, minor, "RouteSegment"); + qmlRegisterType<QDeclarativeGeoManeuver >(uri, major, minor, "RouteManeuver"); + qmlRegisterUncreatableType<QDeclarativeGeoMapPinchEvent >(uri, major, minor, "MapPinchEvent", + QStringLiteral("(Map)PinchEvent is not intended instantiable by developer.")); + qmlRegisterUncreatableType<QDeclarativeGeoMapGestureArea>(uri, major, minor, "MapGestureArea", + QStringLiteral("(Map)HestureArea is not intended instantiable by developer.")); + qmlRegisterUncreatableType<QDeclarativeGeoMapType >(uri, major, minor, "MapType", + QStringLiteral("MapType is not intended instantiable by developer.")); + qmlRegisterType<QDeclarativeCategory >(uri, major, minor, "Category"); + qmlRegisterType<QDeclarativePlaceEditorialModel >(uri, major, minor, "EditorialModel"); + qmlRegisterType<QDeclarativePlaceImageModel >(uri, major, minor, "ImageModel"); + qmlRegisterType<QDeclarativePlace >(uri, major, minor, "Place"); + qmlRegisterType<QDeclarativePlaceIcon >(uri, major, minor, "Icon"); + qmlRegisterType<QDeclarativeRatings >(uri, major, minor, "Ratings"); + qmlRegisterType<QDeclarativeReviewModel >(uri, major, minor, "ReviewModel"); + qmlRegisterType<QDeclarativeSupplier >(uri, major, minor, "Supplier"); + qmlRegisterType<QDeclarativePlaceUser >(uri, major, minor, "User"); + qmlRegisterType<QDeclarativeRectangleMapItem >(uri, major, minor, "MapRectangle"); + qmlRegisterType<QDeclarativeCircleMapItem >(uri, major, minor, "MapCircle"); qmlRegisterType<QDeclarativeMapLineProperties>(); - qmlRegisterType<QDeclarativePolylineMapItem>(uri, 5, 0, "MapPolyline"); - qmlRegisterType<QDeclarativePolygonMapItem>(uri, 5, 0, "MapPolygon"); - qmlRegisterType<QDeclarativeRouteMapItem>(uri, 5, 0, "MapRoute"); - - qmlRegisterType<QDeclarativeSupportedCategoriesModel>(uri, 5, 0, "CategoryModel"); - qmlRegisterType<QDeclarativeSearchResultModel>(uri, 5, 0, "PlaceSearchModel"); - qmlRegisterType<QDeclarativeSearchSuggestionModel>(uri, 5, 0, "PlaceSearchSuggestionModel"); - qmlRegisterType<QDeclarativePlaceAttribute>(uri, 5,0, "PlaceAttribute"); - qmlRegisterUncreatableType<QQmlPropertyMap>(uri, 5, 0, "ExtendedAttributes", "ExtendedAttributes instances cannot be instantiated. " + qmlRegisterType<QDeclarativePolylineMapItem >(uri, major, minor, "MapPolyline"); + qmlRegisterType<QDeclarativePolygonMapItem >(uri, major, minor, "MapPolygon"); + qmlRegisterType<QDeclarativeRouteMapItem >(uri, major, minor, "MapRoute"); + + qmlRegisterType<QDeclarativeSupportedCategoriesModel >(uri, major, minor, "CategoryModel"); + qmlRegisterType<QDeclarativeSearchResultModel >(uri, major, minor, "PlaceSearchModel"); + qmlRegisterType<QDeclarativeSearchSuggestionModel >(uri, major, minor, "PlaceSearchSuggestionModel"); + qmlRegisterType<QDeclarativePlaceAttribute >(uri, major, minor, "PlaceAttribute"); + qmlRegisterUncreatableType<QQmlPropertyMap >(uri, major, minor, "ExtendedAttributes", "ExtendedAttributes instances cannot be instantiated. " "Only Place types have ExtendedAttributes and they cannot be re-assigned " "(but can be modified)."); - qmlRegisterType<QDeclarativeContactDetail>(uri, 5, 0, "ContactDetail"); - qmlRegisterUncreatableType<QDeclarativeContactDetails>(uri, 5, 0, "ContactDetails", "ContactDetails instances cannot be instantiated. " + qmlRegisterType<QDeclarativeContactDetail >(uri, major, minor, "ContactDetail"); + qmlRegisterUncreatableType<QDeclarativeContactDetails >(uri, major, minor, "ContactDetails", "ContactDetails instances cannot be instantiated. " "Only Place types have ContactDetails and they cannot " "be re-assigned (but can be modified)."); + + // Register the 5.3 types + // Introduction of 5.3 version; existing 5.0 exports automatically become available under 5.3 as well + // 5.3 is committed QML API despite missing release of QtLocation 5.3 + minor = 3; + // For now there are no new types; just reregister one existing 5.0 type + qmlRegisterType<QDeclarativeGeoServiceProvider >(uri, major, minor, "Plugin"); + + //registrations below are version independent qRegisterMetaType<QPlaceCategory>("QPlaceCategory"); qRegisterMetaType<QPlace>("QPlace"); qRegisterMetaType<QPlaceIcon>("QPlaceIcon"); diff --git a/src/imports/location/plugins.qmltypes b/src/imports/location/plugins.qmltypes index c4319665..ffdbd7c8 100644 --- a/src/imports/location/plugins.qmltypes +++ b/src/imports/location/plugins.qmltypes @@ -3,7 +3,8 @@ import QtQuick.tooling 1.1 // This file describes the plugin-supplied types contained in the library. // It is used for QML tooling purposes only. // -// This file was auto-generated with the command 'qmlplugindump -notrelocatable QtLocation 5.0'. +// This file was auto-generated by: +// 'qmlplugindump -notrelocatable QtLocation 5.3' Module { Component { @@ -85,6 +86,7 @@ Module { name: "QDeclarativeContactDetails" prototype: "QQmlPropertyMap" exports: ["QtLocation/ContactDetails 5.0"] + isCreatable: false exportMetaObjectRevisions: [0] } Component { @@ -131,8 +133,8 @@ Module { isPointer: true } Property { name: "plugin"; type: "QDeclarativeGeoServiceProvider"; isPointer: true } - Property { name: "minimumZoomLevel"; type: "double"; isReadonly: true } - Property { name: "maximumZoomLevel"; type: "double"; isReadonly: true } + Property { name: "minimumZoomLevel"; type: "double" } + Property { name: "maximumZoomLevel"; type: "double" } Property { name: "zoomLevel"; type: "double" } Property { name: "activeMapType"; type: "QDeclarativeGeoMapType"; isPointer: true } Property { @@ -143,8 +145,6 @@ Module { } Property { name: "center"; type: "QGeoCoordinate" } Property { name: "mapItems"; type: "QList<QObject*>"; isReadonly: true } - Property { name: "tilt"; type: "double" } - Property { name: "bearing"; type: "double" } Signal { name: "wheelAngleChanged" Parameter { name: "angleDelta"; type: "QPoint" } @@ -158,14 +158,6 @@ Module { Parameter { name: "zoomLevel"; type: "double" } } Signal { - name: "bearingChanged" - Parameter { name: "bearing"; type: "double" } - } - Signal { - name: "tiltChanged" - Parameter { name: "tilt"; type: "double" } - } - Signal { name: "centerChanged" Parameter { name: "coordinate"; type: "QGeoCoordinate" } } @@ -188,6 +180,10 @@ Module { type: "QPointF" Parameter { name: "coordinate"; type: "QGeoCoordinate" } } + Method { + name: "fitViewportToGeoShape" + Parameter { name: "shape"; type: "QVariant" } + } Method { name: "fitViewportToMapItems" } Method { name: "pan" @@ -200,16 +196,15 @@ Module { name: "QDeclarativeGeoMapGestureArea" prototype: "QObject" exports: ["QtLocation/MapGestureArea 5.0"] + isCreatable: false exportMetaObjectRevisions: [0] Enum { name: "ActiveGesture" values: { "NoGesture": 0, "ZoomGesture": 1, - "RotationGesture": 2, - "TiltGesture": 4, - "PanGesture": 8, - "FlickGesture": 16 + "PanGesture": 2, + "FlickGesture": 4 } } Enum { @@ -217,20 +212,17 @@ Module { values: { "NoGesture": 0, "ZoomGesture": 1, - "RotationGesture": 2, - "TiltGesture": 4, - "PanGesture": 8, - "FlickGesture": 16 + "PanGesture": 2, + "FlickGesture": 4 } } Property { name: "enabled"; type: "bool" } Property { name: "pinchEnabled"; type: "bool" } Property { name: "panEnabled"; type: "bool" } - Property { name: "isPinchActive"; type: "bool" } + Property { name: "isPinchActive"; type: "bool"; isReadonly: true } Property { name: "isPanActive"; type: "bool"; isReadonly: true } Property { name: "activeGestures"; type: "ActiveGestures" } Property { name: "maximumZoomLevelChange"; type: "double" } - Property { name: "rotationFactor"; type: "double" } Property { name: "flickDeceleration"; type: "double" } Signal { name: "pinchActiveChanged" } Signal { @@ -256,6 +248,7 @@ Module { defaultProperty: "data" prototype: "QQuickItem" exports: ["QtLocation/GeoMapItemBase 5.0"] + isCreatable: false exportMetaObjectRevisions: [0] } Component { @@ -268,35 +261,10 @@ Module { Property { name: "autoFitViewport"; type: "bool" } } Component { - name: "QDeclarativeGeoMapMouseArea" - defaultProperty: "data" - prototype: "QQuickMouseArea" - exports: ["QtLocation/MapMouseArea 5.0"] - exportMetaObjectRevisions: [0] - Method { - name: "mouseToCoordinate" - type: "QGeoCoordinate" - Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true } - } - } - Component { - name: "QDeclarativeGeoMapMouseEvent" - prototype: "QObject" - exports: ["QtLocation/MapMouseEvent 5.0"] - exportMetaObjectRevisions: [0] - Property { name: "accepted"; type: "bool" } - Property { name: "button"; type: "int"; isReadonly: true } - Property { name: "buttons"; type: "int"; isReadonly: true } - Property { name: "modifiers"; type: "int"; isReadonly: true } - Property { name: "wasHeld"; type: "bool"; isReadonly: true } - Property { name: "x"; type: "int"; isReadonly: true } - Property { name: "y"; type: "int"; isReadonly: true } - Property { name: "coordinate"; type: "QGeoCoordinate"; isReadonly: true } - } - Component { name: "QDeclarativeGeoMapPinchEvent" prototype: "QObject" exports: ["QtLocation/MapPinchEvent 5.0"] + isCreatable: false exportMetaObjectRevisions: [0] Property { name: "center"; type: "QPointF"; isReadonly: true } Property { name: "angle"; type: "double"; isReadonly: true } @@ -320,6 +288,7 @@ Module { name: "QDeclarativeGeoMapType" prototype: "QObject" exports: ["QtLocation/MapType 5.0"] + isCreatable: false exportMetaObjectRevisions: [0] Enum { name: "MapStyle" @@ -332,6 +301,8 @@ Module { "HybridMap": 5, "TransitMap": 6, "GrayStreetMap": 7, + "PedestrianMap": 8, + "CarNavigationMap": 9, "CustomMap": 100 } } @@ -383,6 +354,7 @@ Module { Property { name: "status"; type: "Status"; isReadonly: true } Property { name: "errorString"; type: "string"; isReadonly: true } Property { name: "error"; type: "RouteError"; isReadonly: true } + Property { name: "measurementSystem"; type: "QLocale::MeasurementSystem" } Signal { name: "routesChanged" } Method { name: "update" } Method { @@ -541,8 +513,8 @@ Module { name: "QDeclarativeGeoServiceProvider" defaultProperty: "parameters" prototype: "QObject" - exports: ["QtLocation/Plugin 5.0"] - exportMetaObjectRevisions: [0] + exports: ["QtLocation/Plugin 5.0", "QtLocation/Plugin 5.3"] + exportMetaObjectRevisions: [0, 0] Enum { name: "RoutingFeature" values: { @@ -723,6 +695,7 @@ Module { name: "QDeclarativeGeoServiceProviderRequirements" prototype: "QObject" exports: ["QtLocation/PluginRequirements 5.0"] + isCreatable: false exportMetaObjectRevisions: [0] Property { name: "mapping"; type: "QDeclarativeGeoServiceProvider::MappingFeatures" } Property { name: "routing"; type: "QDeclarativeGeoServiceProvider::RoutingFeatures" } @@ -1063,13 +1036,16 @@ Module { } Property { name: "plugin"; type: "QDeclarativeGeoServiceProvider"; isPointer: true } Property { name: "searchArea"; type: "QVariant" } - Property { name: "offset"; type: "int" } Property { name: "limit"; type: "int" } + Property { name: "previousPagesAvailable"; type: "bool"; isReadonly: true } + Property { name: "nextPagesAvailable"; type: "bool"; isReadonly: true } Property { name: "status"; type: "Status"; isReadonly: true } Method { name: "update" } Method { name: "cancel" } Method { name: "reset" } Method { name: "errorString"; type: "string" } + Method { name: "previousPage" } + Method { name: "nextPage" } } Component { name: "QDeclarativeSearchResultModel" @@ -1170,6 +1146,7 @@ Module { name: "QQmlPropertyMap" prototype: "QObject" exports: ["QtLocation/ExtendedAttributes 5.0"] + isCreatable: false exportMetaObjectRevisions: [0] Signal { name: "valueChanged" diff --git a/src/imports/location/qdeclarativecirclemapitem.cpp b/src/imports/location/qdeclarativecirclemapitem.cpp index f26995b3..a91b26bd 100644 --- a/src/imports/location/qdeclarativecirclemapitem.cpp +++ b/src/imports/location/qdeclarativecirclemapitem.cpp @@ -136,8 +136,7 @@ struct Vertex QVector2D position; }; -QGeoMapCircleGeometry::QGeoMapCircleGeometry(QObject *parent) : - QGeoMapPolygonGeometry(parent) +QGeoMapCircleGeometry::QGeoMapCircleGeometry() { } @@ -215,7 +214,7 @@ void QGeoMapCircleGeometry::updateScreenPointsInvert(const QGeoMap &map) p2t::Triangle *t = tris.at(i); for (int j = 0; j < 3; ++j) { p2t::Point *p = t->GetPoint(j); - screenVertices_ << Point(p->x, p->y); + screenVertices_ << QPointF(p->x, p->y); } } delete cdt; diff --git a/src/imports/location/qdeclarativecirclemapitem_p.h b/src/imports/location/qdeclarativecirclemapitem_p.h index e09e0ea4..a1f62b0c 100644 --- a/src/imports/location/qdeclarativecirclemapitem_p.h +++ b/src/imports/location/qdeclarativecirclemapitem_p.h @@ -54,14 +54,10 @@ class QDeclarativeGeoMapQuickItem; class QGeoMapCircleGeometry : public QGeoMapPolygonGeometry { - Q_OBJECT - public: - explicit QGeoMapCircleGeometry(QObject *parent = 0); + QGeoMapCircleGeometry(); void updateScreenPointsInvert(const QGeoMap &map); - - }; class QDeclarativeCircleMapItem : public QDeclarativeGeoMapItemBase diff --git a/src/imports/location/qdeclarativegeocodemodel.cpp b/src/imports/location/qdeclarativegeocodemodel.cpp index 2159e70a..a4cec374 100644 --- a/src/imports/location/qdeclarativegeocodemodel.cpp +++ b/src/imports/location/qdeclarativegeocodemodel.cpp @@ -146,7 +146,7 @@ void QDeclarativeGeocodeModel::update() return; if (!plugin_) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, GEOCODE_PLUGIN_NOT_SET); + qmlInfo(this) << QStringLiteral("Cannot geocode, plugin not set."); return; } @@ -156,12 +156,12 @@ void QDeclarativeGeocodeModel::update() QGeoCodingManager *geocodingManager = serviceProvider->geocodingManager(); if (!geocodingManager) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, GEOCODE_MGR_NOT_SET); + qmlInfo(this) << QStringLiteral("Cannot geocode, geocode manager not set."); return; } if (!coordinate_.isValid() && (!address_ || address_->address().isEmpty()) && (searchString_.isEmpty())) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, GEOCODE_QUERY_NOT_SET); + qmlInfo(this) << QStringLiteral("Cannot geocode, valid query not set."); return; } abortRequest(); // abort possible previous requests @@ -288,7 +288,8 @@ void QDeclarativeGeocodeModel::pluginReady() QGeoServiceProvider *serviceProvider = plugin_->sharedGeoServiceProvider(); QGeoCodingManager *geocodingManager = serviceProvider->geocodingManager(); if (!geocodingManager || serviceProvider->error() != QGeoServiceProvider::NoError) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, PLUGIN_DOESNOT_SUPPORT_GEOCODING).arg(serviceProvider->errorString()); + qmlInfo(this) << QStringLiteral("Error: Plugin does not support (reverse) geocoding.\nError message:") + << serviceProvider->errorString(); return; } connect(geocodingManager, SIGNAL(finished(QGeoCodeReply*)), @@ -510,7 +511,7 @@ int QDeclarativeGeocodeModel::count() const QDeclarativeGeoLocation *QDeclarativeGeocodeModel::get(int index) { if (index < 0 || index >= declarativeLocations_.count()) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, INDEX_OUT_OF_RANGE).arg(index); + qmlInfo(this) << QStringLiteral("Index '%1' out of range").arg(index); return 0; } return declarativeLocations_.at(index); @@ -662,11 +663,13 @@ void QDeclarativeGeocodeModel::setQuery(const QVariant &query) connect(address_, SIGNAL(streetChanged()), this, SLOT(queryContentChanged())); connect(address_, SIGNAL(postalCodeChanged()), this, SLOT(queryContentChanged())); } else { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, UNSUPPORTED_QUERY_TYPE); + qmlInfo(this) << QStringLiteral("Unsupported query type for geocode model ") + << QStringLiteral("(coordinate, string and Address supported)."); return; } } else { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, UNSUPPORTED_QUERY_TYPE); + qmlInfo(this) << QStringLiteral("Unsupported query type for geocode model ") + << QStringLiteral("(coordinate, string and Address supported)."); return; } diff --git a/src/imports/location/qdeclarativegeomap.cpp b/src/imports/location/qdeclarativegeomap.cpp index a4d86b84..9e2e4ebb 100644 --- a/src/imports/location/qdeclarativegeomap.cpp +++ b/src/imports/location/qdeclarativegeomap.cpp @@ -256,9 +256,9 @@ void QDeclarativeGeoMap::onMapChildrenChanged() copyrightsWPtr_ = new QDeclarativeGeoMapCopyrightNotice(this); copyrights = copyrightsWPtr_.data(); connect(map_, - SIGNAL(copyrightsChanged(const QImage &, const QPoint &)), + SIGNAL(copyrightsChanged(QImage,QPoint)), copyrights, - SLOT(copyrightsChanged(const QImage &, const QPoint &))); + SLOT(copyrightsChanged(QImage,QPoint))); } else { // just re-set its parent. copyrights->setParent(this); @@ -278,8 +278,8 @@ void QDeclarativeGeoMap::pluginReady() mappingManager_ = serviceProvider_->mappingManager(); if (!mappingManager_ || serviceProvider_->error() != QGeoServiceProvider::NoError) { - QString msg = QCoreApplication::translate(CONTEXT_NAME, PLUGIN_DOESNOT_SUPPORT_MAPPING).arg(serviceProvider_->errorString()); - qmlInfo(this) << msg; + qmlInfo(this) << QStringLiteral("Error: Plugin does not support mapping.\nError message:") + << serviceProvider_->errorString(); return; } @@ -445,7 +445,7 @@ QSGNode *QDeclarativeGeoMap::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDa void QDeclarativeGeoMap::setPlugin(QDeclarativeGeoServiceProvider *plugin) { if (plugin_) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, PLUGIN_SET_ONCE); + qmlInfo(this) << QStringLiteral("Plugin is a write-once property, and cannot be set again."); return; } plugin_ = plugin; @@ -483,9 +483,9 @@ void QDeclarativeGeoMap::mappingManagerInitialized() copyrightsWPtr_ = new QDeclarativeGeoMapCopyrightNotice(this); connect(map_, - SIGNAL(copyrightsChanged(const QImage &, const QPoint &)), + SIGNAL(copyrightsChanged(QImage,QPoint)), copyrightsWPtr_.data(), - SLOT(copyrightsChanged(const QImage &, const QPoint &))); + SLOT(copyrightsChanged(QImage,QPoint))); connect(map_, SIGNAL(updateRequired()), diff --git a/src/imports/location/qdeclarativegeomapitemview.cpp b/src/imports/location/qdeclarativegeomapitemview.cpp index ccfc4537..28a8a9b4 100644 --- a/src/imports/location/qdeclarativegeomapitemview.cpp +++ b/src/imports/location/qdeclarativegeomapitemview.cpp @@ -121,10 +121,10 @@ void QDeclarativeGeoMapItemView::setModel(const QVariant &model) itemModel_ = itemModel; QObject::connect(itemModel_, SIGNAL(modelReset()), this, SLOT(itemModelReset())); - QObject::connect(itemModel_, SIGNAL(rowsRemoved(QModelIndex, int, int)), - this, SLOT(itemModelRowsRemoved(QModelIndex, int, int))); - QObject::connect(itemModel_, SIGNAL(rowsInserted(QModelIndex, int, int)), - this, SLOT(itemModelRowsInserted(QModelIndex, int, int))); + QObject::connect(itemModel_, SIGNAL(rowsRemoved(QModelIndex,int,int)), + this, SLOT(itemModelRowsRemoved(QModelIndex,int,int))); + QObject::connect(itemModel_, SIGNAL(rowsInserted(QModelIndex,int,int)), + this, SLOT(itemModelRowsInserted(QModelIndex,int,int))); repopulate(); emit modelChanged(); } diff --git a/src/imports/location/qdeclarativegeoroutemodel.cpp b/src/imports/location/qdeclarativegeoroutemodel.cpp index 829398cf..5db8b9ec 100644 --- a/src/imports/location/qdeclarativegeoroutemodel.cpp +++ b/src/imports/location/qdeclarativegeoroutemodel.cpp @@ -222,7 +222,8 @@ void QDeclarativeGeoRouteModel::abortRequest() QDeclarativeGeoRoute *QDeclarativeGeoRouteModel::get(int index) { if (index < 0 || index >= routes_.count()) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, INDEX_INVALID).arg(index); + qmlInfo(this) << QStringLiteral("Error, invalid index for get():") + << index; return 0; } return routes_.at(index); @@ -254,12 +255,12 @@ int QDeclarativeGeoRouteModel::rowCount(const QModelIndex &parent) const QVariant QDeclarativeGeoRouteModel::data(const QModelIndex &index, int role) const { if (!index.isValid()) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, MODEL_INDEX_INVALID); + qmlInfo(this) << QStringLiteral("Error in indexing route model's data (invalid index)."); return QVariant(); } if (index.row() >= routes_.count()) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, MODEL_INDEX_OUT_OF_RANGE); + qmlInfo(this) << QStringLiteral("Fatal error in indexing route model's data (index overflow)."); return QVariant(); } @@ -316,7 +317,8 @@ void QDeclarativeGeoRouteModel::pluginReady() QGeoServiceProvider *serviceProvider = plugin_->sharedGeoServiceProvider(); QGeoRoutingManager *routingManager = serviceProvider->routingManager(); if (!routingManager || serviceProvider->error() != QGeoServiceProvider::NoError) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, PLUGIN_DOESNOT_SUPPORT_ROUTING).arg(serviceProvider->errorString()); + qmlInfo(this) << QStringLiteral("Error: Plugin does not support routing.\nError message:") + << serviceProvider->errorString(); return; } connect(routingManager, SIGNAL(finished(QGeoRouteReply*)), @@ -427,7 +429,7 @@ bool QDeclarativeGeoRouteModel::autoUpdate() const void QDeclarativeGeoRouteModel::setMeasurementSystem(QLocale::MeasurementSystem ms) { if (!plugin_) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, ROUTE_PLUGIN_NOT_SET); + qmlInfo(this) << ROUTE_PLUGIN_NOT_SET; return; } @@ -437,7 +439,7 @@ void QDeclarativeGeoRouteModel::setMeasurementSystem(QLocale::MeasurementSystem QGeoRoutingManager *routingManager = serviceProvider->routingManager(); if (!routingManager) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, ROUTE_MGR_NOT_SET); + qmlInfo(this) << ROUTE_MGR_NOT_SET; return; } @@ -463,7 +465,7 @@ QLocale::MeasurementSystem QDeclarativeGeoRouteModel::measurementSystem() const QGeoRoutingManager *routingManager = serviceProvider->routingManager(); if (!routingManager) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, ROUTE_MGR_NOT_SET); + qmlInfo(this) << ROUTE_MGR_NOT_SET; if (plugin_->locales().isEmpty()) return QLocale().measurementSystem(); @@ -575,7 +577,7 @@ void QDeclarativeGeoRouteModel::update() return; if (!plugin_) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, ROUTE_PLUGIN_NOT_SET); + qmlInfo(this) << ROUTE_PLUGIN_NOT_SET; return; } @@ -585,17 +587,17 @@ void QDeclarativeGeoRouteModel::update() QGeoRoutingManager *routingManager = serviceProvider->routingManager(); if (!routingManager) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, ROUTE_MGR_NOT_SET); + qmlInfo(this) << ROUTE_MGR_NOT_SET; return; } if (!routeQuery_) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, ROUTE_QUERY_NOT_SET); + qmlInfo(this) << QStringLiteral("Cannot route, valid query not set."); return; } abortRequest(); // Clear previus requests QGeoRouteRequest request = routeQuery_->routeRequest(); if (request.waypoints().count() < 2) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, ROUTE_WAYPOINTS_NOT_SET); + qmlInfo(this) << QStringLiteral("Not enough waypoints for routing."); return; } @@ -952,7 +954,7 @@ void QDeclarativeGeoRouteQuery::removeExcludedArea(const QGeoRectangle &area) int index = excludedAreas.lastIndexOf(area); if (index == -1) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, CANNOT_REMOVE_AREA); + qmlInfo(this) << QStringLiteral("Cannot remove nonexistent area."); return; } excludedAreas.removeAt(index); @@ -992,7 +994,7 @@ void QDeclarativeGeoRouteQuery::clearExcludedAreas() void QDeclarativeGeoRouteQuery::addWaypoint(const QGeoCoordinate &waypoint) { if (!waypoint.isValid()) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, CANNOT_ADD_INVALID_WAYPOINT); + qmlInfo(this) << QStringLiteral("Not adding invalid waypoint."); return; } @@ -1021,7 +1023,7 @@ void QDeclarativeGeoRouteQuery::removeWaypoint(const QGeoCoordinate &waypoint) int index = waypoints.lastIndexOf(waypoint); if (index == -1) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, CANNOT_REMOVE_WAYPOINT); + qmlInfo(this) << QStringLiteral("Cannot remove nonexistent waypoint."); return; } diff --git a/src/imports/location/qdeclarativepolygonmapitem.cpp b/src/imports/location/qdeclarativepolygonmapitem.cpp index 55261ed1..032d619d 100644 --- a/src/imports/location/qdeclarativepolygonmapitem.cpp +++ b/src/imports/location/qdeclarativepolygonmapitem.cpp @@ -145,8 +145,8 @@ struct Vertex QVector2D position; }; -QGeoMapPolygonGeometry::QGeoMapPolygonGeometry(QObject *parent) : - QGeoMapItemGeometry(parent), assumeSimple_(false) +QGeoMapPolygonGeometry::QGeoMapPolygonGeometry() +: assumeSimple_(false) { } @@ -297,7 +297,7 @@ void QGeoMapPolygonGeometry::updateScreenPoints(const QGeoMap &map) p2t::Triangle *t = tris.at(i); for (int j = 0; j < 3; ++j) { p2t::Point *p = t->GetPoint(j); - screenVertices_ << Point(p->x, p->y); + screenVertices_ << QPointF(p->x, p->y); } } delete cdt; @@ -469,12 +469,12 @@ void QDeclarativePolygonMapItem::removeCoordinate(const QGeoCoordinate &coordina int index = path_.lastIndexOf(coordinate); if (index == -1) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, COORD_NOT_BELONG_TO).arg("PolygonMapItem"); + qmlInfo(this) << COORD_NOT_BELONG_TO << QStringLiteral("PolygonMapItem"); return; } if (path_.count() < index + 1) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, COORD_NOT_BELONG_TO).arg("PolygonMapItem"); + qmlInfo(this) << COORD_NOT_BELONG_TO << QStringLiteral("PolygonMapItem"); return; } path_.removeAt(index); diff --git a/src/imports/location/qdeclarativepolygonmapitem_p.h b/src/imports/location/qdeclarativepolygonmapitem_p.h index e96dd2cf..148b4cdf 100644 --- a/src/imports/location/qdeclarativepolygonmapitem_p.h +++ b/src/imports/location/qdeclarativepolygonmapitem_p.h @@ -56,10 +56,8 @@ class MapPolygonNode; class QGeoMapPolygonGeometry : public QGeoMapItemGeometry { - Q_OBJECT - public: - explicit QGeoMapPolygonGeometry(QObject *parent = 0); + QGeoMapPolygonGeometry(); inline void setAssumeSimple(bool value) { assumeSimple_ = value; } diff --git a/src/imports/location/qdeclarativepolylinemapitem.cpp b/src/imports/location/qdeclarativepolylinemapitem.cpp index 65b61da1..aefbc435 100644 --- a/src/imports/location/qdeclarativepolylinemapitem.cpp +++ b/src/imports/location/qdeclarativepolylinemapitem.cpp @@ -180,8 +180,7 @@ struct Vertex QVector2D position; }; -QGeoMapPolylineGeometry::QGeoMapPolylineGeometry(QObject *parent) : - QGeoMapItemGeometry(parent) +QGeoMapPolylineGeometry::QGeoMapPolylineGeometry() { } @@ -433,7 +432,7 @@ void QGeoMapPolylineGeometry::updateScreenPoints(const QGeoMap &map, QPolygonF tri; const float *vs = ts.vertices(); for (int i = 0; i < (ts.vertexCount()/2*2); i += 2) { - screenVertices_ << Point(vs[i], vs[i + 1]); + screenVertices_ << QPointF(vs[i], vs[i + 1]); if (!qIsFinite(vs[i]) || !qIsFinite(vs[i + 1])) break; @@ -574,12 +573,12 @@ void QDeclarativePolylineMapItem::removeCoordinate(const QGeoCoordinate &coordin int index = path_.lastIndexOf(coordinate); if (index == -1) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, COORD_NOT_BELONG_TO).arg("PolylineMapItem"); + qmlInfo(this) << COORD_NOT_BELONG_TO << QStringLiteral("PolylineMapItem"); return; } if (path_.count() < index + 1) { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, COORD_NOT_BELONG_TO).arg("PolylineMapItem"); + qmlInfo(this) << COORD_NOT_BELONG_TO << QStringLiteral("PolylineMapItem"); return; } path_.removeAt(index); diff --git a/src/imports/location/qdeclarativepolylinemapitem_p.h b/src/imports/location/qdeclarativepolylinemapitem_p.h index 18f85b09..e013e6ca 100644 --- a/src/imports/location/qdeclarativepolylinemapitem_p.h +++ b/src/imports/location/qdeclarativepolylinemapitem_p.h @@ -81,10 +81,8 @@ private: class QGeoMapPolylineGeometry : public QGeoMapItemGeometry { - Q_OBJECT - public: - explicit QGeoMapPolylineGeometry(QObject *parent = 0); + QGeoMapPolylineGeometry(); void updateSourcePoints(const QGeoMap &map, const QList<QGeoCoordinate> &path); diff --git a/src/imports/location/qdeclarativerectanglemapitem.cpp b/src/imports/location/qdeclarativerectanglemapitem.cpp index 54514ea5..8004a542 100644 --- a/src/imports/location/qdeclarativerectanglemapitem.cpp +++ b/src/imports/location/qdeclarativerectanglemapitem.cpp @@ -122,8 +122,7 @@ struct Vertex QVector2D position; }; -QGeoMapRectangleGeometry::QGeoMapRectangleGeometry(QObject *parent) : - QGeoMapItemGeometry(parent) +QGeoMapRectangleGeometry::QGeoMapRectangleGeometry() { } diff --git a/src/imports/location/qdeclarativerectanglemapitem_p.h b/src/imports/location/qdeclarativerectanglemapitem_p.h index ead79f59..6adc8e31 100644 --- a/src/imports/location/qdeclarativerectanglemapitem_p.h +++ b/src/imports/location/qdeclarativerectanglemapitem_p.h @@ -52,10 +52,8 @@ QT_BEGIN_NAMESPACE class QGeoMapRectangleGeometry : public QGeoMapItemGeometry { - Q_OBJECT - public: - explicit QGeoMapRectangleGeometry(QObject *parent = 0); + QGeoMapRectangleGeometry(); void updatePoints(const QGeoMap &map, const QGeoCoordinate &topLeft, diff --git a/src/imports/location/qgeomapitemgeometry.cpp b/src/imports/location/qgeomapitemgeometry.cpp index 528b084c..587e9ab9 100644 --- a/src/imports/location/qgeomapitemgeometry.cpp +++ b/src/imports/location/qgeomapitemgeometry.cpp @@ -47,12 +47,8 @@ QT_BEGIN_NAMESPACE -QGeoMapItemGeometry::QGeoMapItemGeometry(QObject *parent) : - QObject(parent), - sourceDirty_(true), - screenDirty_(true), - clipToViewport_(true), - preserveGeometry_(false) +QGeoMapItemGeometry::QGeoMapItemGeometry() +: sourceDirty_(true), screenDirty_(true), clipToViewport_(true), preserveGeometry_(false) { } @@ -61,10 +57,9 @@ QGeoMapItemGeometry::QGeoMapItemGeometry(QObject *parent) : */ void QGeoMapItemGeometry::translate(const QPointF &offset) { - for (int i = 0; i < screenVertices_.size(); ++i) { - screenVertices_[i].x += offset.x(); - screenVertices_[i].y += offset.y(); - } + for (int i = 0; i < screenVertices_.size(); ++i) + screenVertices_[i] += offset; + firstPointOffset_ += offset; screenOutline_.translate(offset); screenBounds_.translate(offset); @@ -75,7 +70,7 @@ void QGeoMapItemGeometry::translate(const QPointF &offset) */ void QGeoMapItemGeometry::allocateAndFill(QSGGeometry *geom) const { - const QVector<QGeoMapItemGeometry::Point> &vx = screenVertices_; + const QVector<QPointF> &vx = screenVertices_; const QVector<quint32> &ix = screenIndices_; if (isIndexed()) { @@ -95,7 +90,7 @@ void QGeoMapItemGeometry::allocateAndFill(QSGGeometry *geom) const QSGGeometry::Point2D *pts = geom->vertexDataAsPoint2D(); for (int i = 0; i < vx.size(); ++i) - pts[i].set(vx[i].x, vx[i].y); + pts[i].set(vx[i].x(), vx[i].y()); } /*! diff --git a/src/imports/location/qgeomapitemgeometry_p.h b/src/imports/location/qgeomapitemgeometry_p.h index ac568580..39ad5bd5 100644 --- a/src/imports/location/qgeomapitemgeometry_p.h +++ b/src/imports/location/qgeomapitemgeometry_p.h @@ -43,7 +43,6 @@ #define QGEOMAPITEMGEOMETRY_H #include <QPainterPath> -#include <QPolygonF> #include <QPointF> #include <QRectF> #include <QVector> @@ -56,21 +55,10 @@ QT_BEGIN_NAMESPACE class QSGGeometry; class QGeoMap; -class QGeoMapItemGeometry : public QObject +class QGeoMapItemGeometry { - Q_OBJECT - public: - - struct Point - { - inline Point(qreal x, qreal y) : x(x), y(y) {} - inline Point() : x(0), y(0) {} - inline Point(const QPointF &pt) : x(pt.x()), y(pt.y()) {} - qreal x, y; - }; - - explicit QGeoMapItemGeometry(QObject *parent = 0); + QGeoMapItemGeometry(); inline bool isSourceDirty() const { return sourceDirty_; } inline bool isScreenDirty() const { return screenDirty_; } @@ -100,10 +88,10 @@ public: } inline QVector2D vertex(quint32 index) const { - return QVector2D(screenVertices_[index].x, screenVertices_[index].y); + return QVector2D(screenVertices_[index]); } - inline QVector<Point> vertices() const { return screenVertices_; } + inline QVector<QPointF> vertices() const { return screenVertices_; } inline QVector<quint32> indices() const { return screenIndices_; } inline bool isIndexed() const { return (!screenIndices_.isEmpty()); } @@ -145,7 +133,7 @@ protected: QGeoCoordinate srcOrigin_; - QVector<Point> screenVertices_; + QVector<QPointF> screenVertices_; QVector<quint32> screenIndices_; }; diff --git a/src/imports/positioning/error_messages.cpp b/src/imports/positioning/error_messages.cpp deleted file mode 100644 index 45b85e0a..00000000 --- a/src/imports/positioning/error_messages.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/*************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtPositioning module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include "error_messages.h" - -QT_BEGIN_NAMESPACE - -const char CONTEXT_NAME[] = "QtPositioningQML"; -const char MISSED_NMEA_FILE[] = QT_TRANSLATE_NOOP("QtPositioningQML", "Nmea file not found."); - -QT_END_NAMESPACE diff --git a/src/imports/positioning/error_messages.h b/src/imports/positioning/error_messages.h deleted file mode 100644 index 3c888dff..00000000 --- a/src/imports/positioning/error_messages.h +++ /dev/null @@ -1,54 +0,0 @@ - -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtPositioning module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#ifndef ERROR_MESSAGES_H -#define ERROR_MESSAGES_H - -#include <QString> - -QT_BEGIN_NAMESPACE - -extern const char CONTEXT_NAME[]; -extern const char MISSED_NMEA_FILE[]; - -QT_END_NAMESPACE - -#endif // ERROR_MESSAGES_H diff --git a/src/imports/positioning/plugins.qmltypes b/src/imports/positioning/plugins.qmltypes index 32a3c67d..bfb76203 100644 --- a/src/imports/positioning/plugins.qmltypes +++ b/src/imports/positioning/plugins.qmltypes @@ -11,6 +11,7 @@ Module { name: "GeoShapeValueType" prototype: "QQmlValueType" exports: ["QtPositioning/GeoShape 5.0", "QtPositioning/GeoShape 5.2"] + isCreatable: false exportMetaObjectRevisions: [0, 0] Enum { name: "ShapeType" @@ -36,6 +37,8 @@ Module { "QtPositioning/QtPositioning 5.0", "QtPositioning/QtPositioning 5.2" ] + isCreatable: false + isSingleton: true exportMetaObjectRevisions: [0, 0] Method { name: "coordinate"; type: "QGeoCoordinate" } Method { @@ -122,8 +125,12 @@ Module { Component { name: "QDeclarativePosition" prototype: "QObject" - exports: ["QtPositioning/Position 5.0", "QtPositioning/Position 5.2"] - exportMetaObjectRevisions: [0, 0] + exports: [ + "QtPositioning/Position 5.0", + "QtPositioning/Position 5.2", + "QtPositioning/Position 5.3" + ] + exportMetaObjectRevisions: [0, 0, 1] Property { name: "latitudeValid"; type: "bool"; isReadonly: true } Property { name: "longitudeValid"; type: "bool"; isReadonly: true } Property { name: "altitudeValid"; type: "bool"; isReadonly: true } @@ -135,6 +142,14 @@ Module { Property { name: "verticalAccuracy"; type: "double" } Property { name: "horizontalAccuracyValid"; type: "bool"; isReadonly: true } Property { name: "verticalAccuracyValid"; type: "bool"; isReadonly: true } + Property { name: "directionValid"; revision: 1; type: "bool"; isReadonly: true } + Property { name: "direction"; revision: 1; type: "double"; isReadonly: true } + Property { name: "verticalSpeedValid"; revision: 1; type: "bool"; isReadonly: true } + Property { name: "verticalSpeed"; revision: 1; type: "double"; isReadonly: true } + Signal { name: "directionValidChanged"; revision: 1 } + Signal { name: "directionChanged"; revision: 1 } + Signal { name: "verticalSpeedValidChanged"; revision: 1 } + Signal { name: "verticalSpeedChanged"; revision: 1 } } Component { name: "QDeclarativePositionSource" diff --git a/src/imports/positioning/positioning.pro b/src/imports/positioning/positioning.pro index 6af459d8..d07dbce9 100644 --- a/src/imports/positioning/positioning.pro +++ b/src/imports/positioning/positioning.pro @@ -11,7 +11,6 @@ HEADERS += qdeclarativeposition_p.h \ qdeclarativegeocircle.h \ locationvaluetypeprovider.h \ locationsingleton.h \ - error_messages.h \ qdeclarativegeocoordinateanimation_p.h SOURCES += qdeclarativeposition.cpp \ @@ -23,7 +22,6 @@ SOURCES += qdeclarativeposition.cpp \ qdeclarativegeocircle.cpp \ locationvaluetypeprovider.cpp \ locationsingleton.cpp \ - error_messages.cpp \ qdeclarativegeocoordinateanimation.cpp load(qml_plugin) diff --git a/src/imports/positioning/qdeclarativepositionsource.cpp b/src/imports/positioning/qdeclarativepositionsource.cpp index fe2a3e56..cc8dfe56 100644 --- a/src/imports/positioning/qdeclarativepositionsource.cpp +++ b/src/imports/positioning/qdeclarativepositionsource.cpp @@ -41,7 +41,6 @@ #include "qdeclarativepositionsource_p.h" #include "qdeclarativeposition_p.h" -#include "error_messages.h" #include <QtCore/QCoreApplication> #include <QtQml/qqmlinfo.h> @@ -290,7 +289,7 @@ void QDeclarativePositionSource::setNmeaSource(const QUrl &nmeaSource) QTimer::singleShot(0, this, SLOT(start())); } } else { - qmlInfo(this) << QCoreApplication::translate(CONTEXT_NAME, MISSED_NMEA_FILE) << localFileName; + qmlInfo(this) << QStringLiteral("Nmea file not found") << localFileName; #ifdef QDECLARATIVE_POSITION_DEBUG qDebug() << "QDeclarativePositionSource NMEA File was not found: " << localFileName; #endif @@ -637,7 +636,7 @@ void QDeclarativePositionSource::positionUpdateReceived(const QGeoPositionInfo & /*! \qmlproperty enumeration PositionSource::sourceError - This property holds the error which last occured with the PositionSource. + This property holds the error which last occurred with the PositionSource. \list \li PositionSource.AccessError - The connection setup to the remote positioning backend failed because the |