summaryrefslogtreecommitdiff
path: root/src/plugins/geoservices/nokia
Commit message (Collapse)AuthorAgeFilesLines
* Remove parameterization functionalityVolker Hilsheimer2022-11-021-8/+0
| | | | | | | | | | | | | | | | | | | | | The abstraction of plugin-specific parameters makes little sense if we don't want to provide a cross-backend API. So remove this for now. If in the future we want to attach meta-data or backend-specific properties to values or element types, then we might be able to use existing QVariantMap type properties (like QGeoRouteRequest's extraParameters, via QDeclarativeGeoRouteQuery::extraParameters), or register backend specific QML types that applications can opt in to use. This requires a bit of research and experimenting based on specific use cases. If we can't come up with anything better, then bringing back a, perhaps simplified, version of the infrastructure removed here will still be an option. Change-Id: If590a35f2ffb80b0c918d866e88913a9caf75d2b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Remove MapObjects from labsVolker Hilsheimer2022-09-262-11/+0
| | | | | | | | | | | | | | | The feature was designed to enable map backends to implement their own rendering of the map, and map items. It was never really used by any of the backends we supported, and introduced a lot of complexity to the code base. The idea as such has perhaps merit, but for now we focus on the basic functionality of Qt Location. Support for Qt Location when the Qt Quick scene graph is not used is not a part of that. Change-Id: I08e460043a0bd2600bad79b6ce2bb18e40e19eb6 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove save/remove implementations from Nokia engineVolker Hilsheimer2022-09-227-198/+3
| | | | | | | | | | The default implementation returns the special "Unsupported" reply when saving/removing categories or places, and the Nokia implementation did essentially the same thing, setting the UnsupportedError through a queued connection. Change-Id: I5eca2d1efe19f603b0151fc74e2815aba1d9781b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Cleanup: QPlaceContent and subclasses (1/3)Volker Hilsheimer2022-09-223-40/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPlaceContent and subclasses are value types, and subclassing value is a bad idea, for many reasons. Great care had been taken to work around the slicing problem, resulting in lot of code and complexity. Instead of the slicing problem, we now have the problem that we can assign a QPlaceContent item to a QPlaceImage and back, but that same QPlaceContent object can also be assigned to a QPlaceReview and a QPlaceEditorial item. Those then end up as empty items. So while it seems convenient to have C++ types, we replaced compile errors or explicitly dynamic APIs, like QVariant, with implicit conversions that require explicit type checks before, with the risk of silently losing data. Ironcially, applications access those different values then through various QAbstractItemModel implementations - which return QVariants anyway, requiring explicit type checking and coertion. And the C++ convenience is exclusively interesting for backend implementors, who anyway need to parse data and identify types dynamically. What we really need is a map of QVariants, and some information about what kind of data we can get out of the map. So as a first step in cleaning, replace the data storage with such a map and remove all the subclass specific privates, together with all the complexity (virtual functions, QSharedDataPointer::clone template specializations, macros). The subclasses themselves become very thin API wrappers. Their only special feature is that they all can still be constructed from a QPlaceContent instance. We need this for compatibility. With all the convenience C++ APIs marked as deprecated, people can still use those when using Qt 6.2-compatible Qt Location, and use the warnings to prepare for Qt 6.5 where we can then remove those APIs entirely. Change-Id: Id75f55d784fbe214a0db93d3c1f786209ef0a690 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Cleanup: More nullptr instead of 0Volker Hilsheimer2022-09-199-11/+16
| | | | | Change-Id: I6316384be07f1d0634860c3ddcbe85455e218fed Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge QGeoRouteLeg into QGeoRouteVolker Hilsheimer2022-09-162-2/+2
| | | | | | | | | | | | | | | | | | | | | | QGeoRouteLeg was a subclass of QGeoRoute. Since QGeoRoute is a value type, subclassing is problematic, even though QGeoRouteLeg had no data of its own and only added public getters for data already carried by QGeoRoutePrivate. But if every leg is a route, with documentation pointing out that some route-specific getters never return anything, then it's easier to just add leg-specific APIs to QGeoRoute. A route is then a group of other routes. Those route legs point back at the overall route, and know of index within the overall route. Those leg-specific APIs return -1 for the index and an empty overall route if the route is not a leg within an overall route. This saves a separate type with its own QDeclarative* wrapper, without losing any expressiveness. Task-number: QTBUG-105206 Change-Id: I8844290d245ed79215e6c7893d972e0da96ed197 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Refactor: for loopsVolker Hilsheimer2022-09-143-49/+64
| | | | | | | | | | Replace indexed for loops with ranged for, replace int with qsizetype otherwise as appropriate. Apply const and line breaks in surrounding code. Pick-to: 6.2 Change-Id: I1c2ee372545b8ab2cbb84c4b4b97ae52dedff1d0 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Cleanup: use nullptr instead of 0Volker Hilsheimer2022-09-133-4/+4
| | | | | Change-Id: I2f713a9a88023c5e2b3d779ebe73c821c72dd0e3 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Cleanup: remove virtual keyword from overridesVolker Hilsheimer2022-09-121-2/+2
| | | | | Change-Id: Iac3ac030809f57cfcffbfcc3257551efb6c1ff0f Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Port to pointer-to-member-function connection syntaxVolker Hilsheimer2022-08-2318-118/+126
| | | | | | | | | | | | | | | | Rename overloads that would cause conflict and require explicit overloa resolution via QOverload: - Q*Reply::error -> errorOccurred (equivalent to QNetworkReply) - Q*Engine::error -> errorOccurred (for consistency, even if no overloa - Q*Manager::error -> errorOccurred (ditto) - QDeclarativeGeoMap::copyrightChanged -> copyrightImageChanged As a drive-by, change QString value parameters to const references. Pick-to: 6.2 Change-Id: I1ab16079842540ca0a86f711d83b35c8c56135e6 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* More include cleanupVolker Hilsheimer2022-07-291-1/+2
| | | | | | | | | | | Remove includes of private headers from other modules where possible. Get rid of some duplicate includes, and try to group includes by module, with private includes in a separate block for better visibility where we have dependencies to private APIs. Pick-to: 6.2 Change-Id: Ia6419bee2a2c50463dcc515f3f1590a749dfabc1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Use 'const' correctlyVolker Hilsheimer2022-07-289-18/+18
| | | | | | | | | | Don't return or pass const copies, use either plain copies or const references. Make getters const, make variables const, and use qAsConst in ranged for loops to avoid detaches. Pick-to: 6.2 Change-Id: If1463cf7f0077c08dedb15388d912b652c2b037c Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Clean up includesVolker Hilsheimer2022-07-286-0/+25
| | | | | | | | | | Get rid of unnecessary includes in most public, and some private headers. Forward declare what we have to, and include headers where needed in the implementation and test files. Pick-to: 6.2 Change-Id: I7924e865b9d4ad9f8c8670605b59d5530346106e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Bump plugin interface version to 6.0Volker Hilsheimer2022-07-271-1/+1
| | | | | | | Task-number: QTBUG-96795 Pick-to: 6.2 Change-Id: Ib56df68b2cbc3781f49d0749fcd598bbcd96c6fb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Remove all qmake .pro files, except for examplesVolker Hilsheimer2022-07-261-60/+0
| | | | | | | Task-number: QTBUG-96795 Pick-to: 6.2 Change-Id: Ia5e73baff832eda7807d0ee7a70a10aeb5d5e830 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Replace foreach with ranged for and set QT_NO_FOREACHVolker Hilsheimer2022-07-266-15/+17
| | | | | | | | | | Make containers const where they obviously should be, iterate over references where it's clearly possible. Cherry-pick of 2c8c5dca44aba5612cc67b04dd3c7e5fc4919b19. Change-Id: Ie55a58873b48bbb60ac49790db612f85777e6ceb Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Silence build warnings, fix build errorsVolker Hilsheimer2022-06-161-8/+8
| | | | | | | | | | Replace various deprecated APIs with their supported Qt 6 versions. Most notably, replace QScopedPointer with std::unique_ptr, as the code frequently use deprecated QScopedPointer::swap. Change-Id: If9cb0be89423fd310073709eb390401d74240153 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Finalize QtLocation CMake buildIvan Solovev2022-02-281-0/+6
| | | | | | | | | | | | | | | | | | | Add missing files from declarativemaps and declarativeplaces. Reintroduce Qt.labs.location feature (currently always enabled, as I'm not sure that OpenGL is strictly required for now). Build Qt.location.labs as part of QtLocation lib when this feature is enabled. Also update build files for plugins to take this feature into account. Build QML plugins as two separate QML modules. This still requires some improvements because the code does not use QML_* macros, but an old-style qmlRegister* approach. Task-number: QTBUG-96795 Change-Id: Ib835848ca3ad551cc6d858d2bae10b9aa4df5160 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Use up-to date LGPL license headerKai Köhne2021-12-0252-572/+728
| | | | | | | | Remove usages of outdated LGPL3 header that references LICENSES.LGPLv3 instead of LICENSES.LGPL3. Change-Id: Ied647fc10d2bf051cccc8b38d75570b7caef1f28 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Change 'setBoundingBox' to 'setBoundingShape'Lauri Laanmets2021-11-093-3/+3
| | | | | | | | | | | | https://doc.qt.io/qt-6/qtpositioning-changes-qt6.html#c This is part of a bigger work to port QtLocation maps to Qt6. Task-number: QTBUG-96795 Change-Id: I9c14bd39d2da95a0be6542be432b79e26906c5ed Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
* Correct string literal comparison and concatenationLauri Laanmets2021-11-092-37/+37
| | | | | | | | | | This is part of a bigger work to port QtLocation maps to Qt6. Task-number: QTBUG-96795 Change-Id: Ib4c845679a9dcdd9994603076d9ba7d06c2d1c47 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
* Fix warnings that break Windows buildIvan Solovev2021-11-091-5/+5
| | | | | | | | | | Windows machines in the CI have more strict rules for dealing with warnings. Most of them are treated as errors. This patch fixes such warnings. Task-number: QTBUG-97769 Change-Id: I9432d266a0b019512c38009ff2395b51071c59bf Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Build minimal subset of QtLocation with unit-testsIvan Solovev2021-11-091-0/+46
| | | | | | | | | | | | Build src/location/maps and src/location/places with a minimum subset of required src/location/declarativemaps files. Also build all plugins except mapbox-gl. Enable all non-QML unit-tests. Task-number: QTBUG-97769 Change-Id: I7c70584376c688efd2e1d046186732a7399e12d9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add missing overrideAlexander Volkov2020-06-299-16/+16
| | | | | Change-Id: Ieae01bc4669cdd503f97399c622989795a0ad734 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Qt6: Port QtLocation to QStringViewKarsten Heimrich2020-06-101-1/+1
| | | | | | | Task-number: QTBUG-84319 Change-Id: I48cfafbf0a489947468b4b4e3fcf851e459cdfd3 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* QtLocation: get rid of now unneeded qOverloadsTimur Pocheptsov2020-03-238-8/+8
| | | | | | | | | | | In a preparation for final cleanup in dev/Qt6. This amends the recent change in QtNetwork where we deprecated ambiguous signal overload. Also, fix old SIGNAL to use the proper name. Task-number: QTBUG-82605 Change-Id: Ifc92ce4569ba15ac5429fe379f134a6dbe3a5f73 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Revert "qtlocation: remove uses of the deprecated member-function"Timur Pocheptsov2020-02-259-13/+13
| | | | | | | | This reverts commit b482674e51c097fccffa1e1cc32b4843ad393894. Reason for revert: naming in QProcess is considered to be the correct one. Change-Id: I6722adfc06b351c76fb432628a678c4ce887d594 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* qtlocation: remove uses of the deprecated member-functionTimur Pocheptsov2020-01-159-13/+13
| | | | | | | | | Which is QNetworkReply::error(). Use QNetworkReply::networkError() instead. Task-number: QTBUG-80369 Change-Id: Id41166a72c0d14bc77d9ec853db2f665617195ee Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Unify semicolon usage in Q_UNUSEDJesus Fernandez2019-01-234-7/+7
| | | | | Change-Id: I36dd6881b6f6f028869d63b6311cba7f52a99cc4 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Port Nokia geo service plugin to QRegularExpressionSamuel Gaist2018-12-041-4/+6
| | | | | | | | | This patch updates the Nokia geo service plugin code to use QRegularExpression in place of QRegExp which is to be considered deprecated. Change-Id: Idc7459351c6f1a1b12ba1528c426fced324039a1 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix HERE route parsingv5.12.0-beta1Paolo Angelelli2018-09-243-229/+51
| | | | | | | | | | We were previously not requesting all relevant attributes, and deriving some required info by ourself, in the wrong way. So just request what's needed and use it. Task-number: QTBUG-70499 Change-Id: I6e0d4b28da1412a4c13460d25e16e383f0aca9a0 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix HERE qgeoroutexmlparser and add legs supportPaolo Angelelli2018-09-052-74/+297
| | | | | | | | | | All route segments after the second waypoint contain broken paths. This patch fixes it refactoring the parsing logic, also adding support for route legs. Change-Id: I30ec9e889a5e16bf81c4a0caf1b59fc895b7ea5e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Enable incremental updates in PlaceSearchModelPaolo Angelelli2018-07-051-0/+10
| | | | | | | | | | | This way pages can be changed without resetting the model. To achieve this, new members into QPlaceSearchRequestPrivate are introduced, to keep the relationship between a request for one page, and the previous or the next page. In this way sparse population of the model becomes possible. Change-Id: Ic8db0281408f3500ba83f78c7e152ee0b68cd099 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove the code to manually initialize resources in static buildsSimon Hausmann2018-04-271-6/+0
| | | | | | | | | After commit be9a56e5e3ced5d0d668fa24e4c65ae928f2e25a in qtbase, this is not needed anymore. Instead the resource system injects the plugin entry point with a reference to all resources. Change-Id: I03294a3ee43097ce535ef7c2805ee33a99e7dd25 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/wip/navigation' into 5.11Paolo Angelelli2018-04-175-5/+14
|\ | | | | | | | | | | | | | | | | Conflicts: src/location/declarativemaps/qgeomapobject.cpp src/location/declarativemaps/qgeomapobject_p_p.h src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.h Change-Id: Iab847e16011b2095d307e2a3610bf9157ae7b92d
| * Introduce map objects reference implementationPaolo Angelelli2018-04-173-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a reference implementation for the QGeoMapObject subclasses in the locationlabs module. If this module is built, all current plugins, with the exception of mapboxgl, will also be able to render map objects. The current reference implementation of map objects is not optimized, but it can be useful for both testing and feature parity (so that switching between plugins will give the same result). Change-Id: I830ebb3813f219e42c085f450952a2b4327361cd Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * Compile windowsJan Arve Sæther2018-04-162-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't use "interface" keyword unless really needed. The interface keyword is defined as a preprocessor macro: #define interface struct This was done by MS in order to be able to write this (which adds more semantic): interface { HRESULT foo() = 0; [...] } Change-Id: I95c6396158971220299cdc0ded6ffb11c677990c Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Doc: Fix all documentation warningsTopi Reinio2018-03-271-1/+1
|/ | | | | | | | | | | | | | | | | | | | Fix multiple warnings caused by invalid documentation configuration, missing QML module specifiers, wrong QML type names, incorrect arguments for the \fn command, and missing documentation. Remove incorrect statement from the example usage of the Waypoint QML type. Use 'QtLocation' as the name for the module throughout the docs. Clang (used as the parser for QDoc in Qt 5.11) was unable to resolve the path for qlocation.h, causing QDoc to omit the QLocation namespace documentation. Fix this by including the file explicitly from qlocationglobal.h for documentation builds. Change-Id: I2bd790db1ff5ad96f0cdb415a682b97593b3a6dc Reviewed-by: Martin Smith <martin.smith@qt.io>
* Replace Q_DECL_OVERRIDE with overrideKevin Funk2018-02-052-18/+18
| | | | | Change-Id: Iaa670de181255ea570fcf7bcbe465987ef7fc2fc Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make QPlace extensiblePaolo Angelelli2018-01-272-0/+2
| | | | | | | | This change makes it possible to subclass QPlace with custom private implementations. Change-Id: I363c0e8b7db41d9a8400ce6dbddf5405c619eeef Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Use QGeoShapes properly throughout the modulePaolo Angelelli2018-01-091-13/+13
| | | | | | | | Adds proper support to other valid shapes and use ::boundingGeoRectangle where appropriate. Change-Id: Ibba4cb18f5cca08df62d15b76fa0e1f249dc6fbb Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Support waypoints bearing in the HERE backendPaolo Angelelli2017-12-051-4/+15
| | | | | Change-Id: I9246b648da809672510460273c2cc21aa478c550 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Update to new QRandomGenerator APIv5.10.0-beta4Thiago Macieira2017-11-031-1/+1
| | | | | Change-Id: I69f37f9304f24709a823fffd14e676c097712329 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add camera capabilities + metadata to QGeoMapType/QDeclarativeGeoMapTypePaolo Angelelli2017-07-311-21/+22
| | | | | | | | | | | | | | This patch enriches QGeoMapType/QDeclarativeGeoMapType embedding into this object the camera capabilities for this type, that are then exposed via a new QML Type, CameraCapabilities, and custom metadata in form of a QVariantMap, that can be accessed via the new metadata property. [ChangeLog][QtLocation][QDeclarativeGeoMapType] Added CameraCapabilities and metadata properties to QDeclarativeGeoMapType. Task-number: QTBUG-58931 Change-Id: I97a8852fbb3bbac88fdbf0d47e8247ea7ed1f31e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Use QRandomGenerator instead of q?randThiago Macieira2017-06-301-1/+2
| | | | | Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add TrafficFeature to QGeoRouteRequest/RouteQueryPaolo Angelelli2017-06-071-0/+1
| | | | | | | | [ChangeLog][QtLocation][QGeoRouteRequest/RouteQuery] Add TrafficFeature to the query features. Change-Id: I50243865da97e302943f43b0eda430e9d8383880 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix resources not loading on static buildsThiago Marcos P. Santos2017-05-204-1/+13
| | | | | | | | | | | | | Explicitly call Q_INIT_RESOURCE, otherwise the resources are not found and the plugins using resources are broken when building Qt with -static. This patch also adds a prefix to these resources to avoid collision, since they are very generic like "logo.png" or "maps.json". Task-number: QTBUG-60007 Change-Id: Ifb73e9b97af107f2e24f5478f3de534bbd40e158 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix for mobile maps from the HERE plugin not showing in low-dpiPaolo Angelelli2017-05-081-1/+8
| | | | | | | | Apparently these maps support only 250ppi or more. Task-number: QTBUG-60545 Change-Id: Iadb59c4f034cbfd94a825048358583f3a978315f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add pluginName to QGeoMapType and check against it in setActiveMapTypePaolo Angelelli2017-05-071-22/+23
| | | | | | | | | | | This patch adds a QByteArray member to QGeoMapType with the name of the plugin providing that map type. This value is then used to validate what is passed to QDeclarativeGeoMap::setActiveMapType to see if it's a map type for the currently set plugin. Change-Id: If15b67c32150f0c3c2815d28e26fc37138d4cf71 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Allow overzooming when setting zoomLevel directly in a MapPaolo Angelelli2017-04-121-0/+1
| | | | | | | | | | | | | This patch moves the lower/upper bound check on setZoom from QDeclarativeGeoMap to the gesture area, allowing to set higher zoom levels than the maximumZoomLevel when setting Map.zoomLevel directly, for the map types that support overzoom. This is now safe as the bound check is introduced in the tile fetcher, so no invalid tiles will be requested, and is beneficial when combining layers supporting different maximum zoom levels. Change-Id: I08ee9c282ee2ebc1dafa3c68a238b93ffbc1ba02 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>