summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Remove mapbox plugin page from public viewAndreas Eliasson2023-04-181-0/+1
| | | | | | | | | | | In reference to https://www.qt.io/blog/the-road-to-qt-location and the 'Reducing the number of included backends' section, starting from Qt 6, only the OSM and ItemOverlay service providers will be supported out of the box. Pick-to: 6.5 Change-Id: If267d6fcf9ed6603f86a7931c90d49db290f023c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Doc: Clean up listAndreas Eliasson2023-04-181-5/+5
| | | | | | | | | | | | | Our style guide, https://learn.microsoft.com/en-us/style-guide/scannable-content/lists, suggests not putting commas after list items and capitalizing unless there's a specific reason not to. Pick-to: 6.5 5.15 Change-Id: I0d83babd4f7e4363328fd4b4c2675f060b84c2a4 Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jaishree Vyas <jaishree.vyas@qt.io>
* Remove unused geosimplify implementationVolker Hilsheimer2023-04-112-40/+0
| | | | | | | | Pick-to: 6.5 Change-Id: I1aca4ab7bb8dbf0830292efe7220ec220cacd5d2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Matthias Rauter <matthias.rauter@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Remove earcut 3rdparty codeVolker Hilsheimer2023-04-115-870/+0
| | | | | | | | | It is no longer used. Pick-to: 6.5 Change-Id: I40aef9a8dd23935f7f78593105742d18d8fe72bd Reviewed-by: Matthias Rauter <matthias.rauter@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Polygons/lines can now be rendered following the shortest path on the globeMatthias Rauter2023-04-1112-28/+341
| | | | | | | | | | | | | | | | | | | | | | This is enabled by interpolating the lines of polygons and paths. The interpolating is done following the greater circle navigation and the connection between corners of the polygon appear curved on the projected map. This behavior can be turned on by setting a new property, called referenceSurface. It can be set to ReferenceSurface.Map, drawing paths as lines on the map or to ReferenceSurface.Globe, drawing path on the globe leading to curves on the map. It is set to ReferenceSurface.Map on default, reproducing the old implementation for polygons, polylines and rectangles. The circle item was already using the great circle path before this change. Its standard implementation was changed to draw a circle in map coordinates with approximated radius. This should be sufficient for many cases. To get the old implementation, referenceSurface has to be set to ReferenceSurface.Map. Fixes: QTBUG-94785 Change-Id: Ifdd1597a7116c3d220462f063656b04becb6422f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Allow zoom/pan/tilt with mouse on WaylandShawn Rutledge2023-04-061-2/+3
| | | | | | | | | | | | | | This is redundant when you're using a touchpad that can provide the pinch-zoom feature; but so far we are not distinguishing mice and touchpads on Wayland. So in case the device that claims to be a touchpad is actually just a mouse, the user needs some way to zoom, pan and tilt. This can be reverted when QTBUG-112432 is fixed. Pick-to: 6.5 Task-number: QTBUG-112394 Task-number: QTBUG-112432 Change-Id: Ie339e3c1d7d0b1d5b6383d8e7f8fd1cdcb462db6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* MapView: add bearing / tilt wheel functionality; also with Magic MouseBen Fletcher2023-04-061-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | In Qt 5, Map had bearing / tilt mouse wheel functionality with keyboard modifiers; that feature is now restored. We allow the wheel to zoom, to change the bearing if the Shift key is held, or to change the tilt if the Control key is held. This is redundant when you're using a touchpad that can provide the pinch-zoom feature; but we need it with the Magic Mouse on macOS, because the cocoa plugin can't distinguish it from a trackpad, even though it can't provide the pinch gesture. So we enable these features for both mouse and touchpad devices on macOS. Also allow mouse and touchpad with the minimal_map example. There's a similar issue on Wayland, but let's try to fix the Wayland plugin to distinguish these devices properly. Pick-to: 6.5 Task-number: QTBUG-87646 Task-number: QTBUG-112394 Change-Id: I9e516a52e941b0b05cd0114afafde2767d80f4ff Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove ugly line at the bottom of the mapMatthias Rauter2023-03-232-13/+5
| | | | | | | | | | Mapitems that extend below 85 deg South show a black line at the bottom of the map. The cause for this line is too narrow clipping and point insertion which is removed with this change. Pick-to: 6.5 Change-Id: I6707aede97082f7b1764cd7dd6bbe351baaad3da Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Doc: Fix links and snippetsVolker Hilsheimer2023-03-063-4/+7
| | | | | | | | | | | | | | | Add modules in which linked-to types live to the qdoc dependencies, fix links, and adapt snippets to changes in the examples (and add tags to quoted files as needed). This makes the documentation generate without warnings, so set the warninglimit to 0 as well to block future regressions. Pick-to: 6.5 6.5.0 Change-Id: I43fdfce1087c2a35212f91b41bba1ff9481e609d Reviewed-by: Matthias Rauter <matthias.rauter@qt.io> Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io> Reviewed-by: <safiyyah.moosa@qt.io>
* Update the documentationMatthias Rauter2023-03-019-106/+69
| | | | | | Pick-to: 6.5 Change-Id: Icff1282a22c3cefbbbbfb1dc03910066eb7c85f3 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Resolve a duplicate static symbol during Unity BuildAmir Masoud Abdol2023-02-282-11/+2
| | | | | | | | | | | Removed a duplicate function, and replaced it with direct calculation since it was only being used once in one of the files anyway. The same for `invLog2`, as the compiler should be taking care of it already. Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: I9095bca32ea127f770fa2cb0523b05110bd8ef21 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Resolve duplicate meta type definition causing issue for unity buildAmir Masoud Abdol2023-02-283-6/+4
| | | | | | | Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: Ic909c4e0e76e8744176421125d9fcda6b602bf0c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Resolve a duplicate symbol during Unity BuildAmir Masoud Abdol2023-02-271-0/+3
| | | | | | | | | | By excluding them from the unity build Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: I7108d75e792900f9bcc70d858ee058a3a3ba80f1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Avoid adding x-y-z structure of tile server if it already exists in urlMatthias Rauter2023-02-271-1/+3
| | | | | Change-Id: I94255b1c6406e82bd12b126fbdff6ac43e63dbd2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Return early from export function if data is empty to avoid crashesMatthias Rauter2023-02-231-0/+2
| | | | | | Pick-to: 6.5 Change-Id: I4713d4a97b7854df8310e6d0766a694e11473768 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add boundaries to zoomLevel in MapViewMatthias Rauter2023-02-223-141/+82
| | | | | | | | | There was a bug in the notification handling in QDeclarativeGeoMap that prevented BoundaryRule to work properly. This bug was fixed along the way. Pick-to: 6.5 Change-Id: Iae85019c7cceb77dab6f20478b564908797f7ccd Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Improve documentation and fix warnings and examplesVolker Hilsheimer2023-02-214-77/+33
| | | | | | | | | | | | | - Waypoint was removed in bf12a34712d14d382b410b5ba5154eba90963675, so remove the documentation for the QML type - document the icon QML type from the Places module - remove dead code from example - adjust snippet quoting to changes - fix some qdoc warnings Pick-to: 6.5 Change-Id: I8ee2b55d8a48afa6f700be1edab06f2364c6ff04 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Improve compatibility between OSM plugin and places exampleMatthias Rauter2023-02-202-8/+9
| | | | | | | | | | | | The categories are searched as well as possible. However, searches for e.g. all shops are not possible with OSM since a recent API change. The category is written into the PlacesReply object so that they can be displayed in the ui. Pick-to: 6.5 Change-Id: Ic08e5bef393313672775b6f39d365484ee8b0c58 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Correct and improve the rendering of QuickMapItemsMatthias Rauter2023-02-1418-849/+353
| | | | | | | | | | | | | | | | | | | | | | | Various MapItems were not rendered correctly, especially in corner cases. This change ensures that MapItems are rendered correctly in the vast majority of cases. All MapItems are shown correctly if they wrap around the globe and appear twice on the map. Circles that span around the globe or are located near poles are shown correclty and filled all the way to the border of the map. Polygons are shown correctly including their holes. The code was simplified and some artefacts of previous implementations were removed. Fixes: QTBUG-110701 Fixes: QTBUG-110511 Pick-to: 6.5 Change-Id: I1110659989436cd5a93f6ec26f75caa06d5f2b71 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove old code for rendering MapItems and the respecitve switchMatthias Rauter2023-02-0811-678/+0
| | | | | | Pick-to: 6.5 Change-Id: I59311a3b9d32ca9df3a5b66a6352b45448a52cdc Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Implement all four map items with ShapeLaszlo Agocs2023-02-0813-73/+500
| | | | | | | | | | | | | With a master switch in qdeclarativegeomapitembase_p.h, this is enabled by default. For now the old method is still available by just commenting out the define. The old path can be removed in follow-up patches; for now keeping both so one can compare and debug if further issues arise. Pick-to: 6.5 Change-Id: I01c44ee8a07d7d5f7eb018be33ac5d161ba90e2a Reviewed-by: Matthias Rauter <matthias.rauter@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Use SPDX license identifiersVolker Hilsheimer2023-02-02395-14985/+821
| | | | | | | Task-number: QTBUG-67283 Pick-to: 6.5 Change-Id: I4b8f877cc355c7c6cd410b3b1683defa58486381 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Add MapViewShawn Rutledge2023-01-282-0/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has nearly complete functionality now. A couple of approaches were possible: one way is to have the Map larger than the MapView, so that the MapView defines a viewport. This allows the handlers to function more "normally": DragHandler already knows how to move the Map in the viewport, etc. But then you can pan off the edge of the Map; so we needed a recenter() function to calculate and set the map.center property, and call that at the right times. This needs to be done when the MapView is resized too, and that turned out to be tricky to get right. Another advantage though would be that we could ensure Map doesn't re-generate geometry any more often than necessary: small changes to the center and scale of the map would often merely change one QSGTransformNode. We could still try this approach again later on, but perhaps Map should be doing more of the work to make it possible; and the new ItemObservesViewport flag ought to be useful. But for now, we do it the existing way: Map does its own viewporting. Thus, we assume that Map is optimized to limit geometry re-generation internally. In practice, redrawing while executing a pinch gesture feels fast enough. One of the main reasons we needed the recent changes in handlers is to get deltas. We cannot use bindings directly from handler properties to Map properties, because there are multiple ways to modify each property (you can zoom by pinch or wheel in MapView, and probably via a keyboard shortcut in the application), so we need to increment the zoomLevel and bearing properties rather than binding them. When it comes to panning: instead of a property, Map has a pan(dx, dy) invokable function; so we call that in response to the DragHandler.translationChanged signal, which now carries a delta-vector argument. The alignCoordinateToPoint() function turned out to be ideal to make the pinch gesture zoom into and rotate the map around the centroid (the point between the touchpoints). Since we call that function when either the rotation or scale changes, we do not need an onTranslationChanged(), because you can't do a pinch gesture that only pans without also changing scale and rotation slightly. All three signals are firing constantly, so handling two of them is enough. The Vector3dAnimation turned out to be a good fit to get flicking momentum (let the panning continue a little while after the finger is released); needing to use the pan() function here is a little clumsy, but we can live with it. Handlers and Animations would both prefer to set properties directly. But if there were a property, it would tend to have type QVector2D or QPointF, and the Vector3dAnimation wouldn't know how to set it anyway (but that could be hacked in, or we could write a Vector2dAnimation). Calculating the limits for zooming seems to be tricky: Map.minimumZoomLevel is zero, but in practice the minimum zoom depends on the size (because we cannot zoom out so far that the map no longer fills the viewport, but if the viewport is smaller, then you can zoom out further). So PinchHandler currently limits the max zoom fairly well, but when you try to zoom out too far, it is Map rather than PinchHandler that applies its own runtime limit. That makes PinchHandler.persistentScale useless; but now PinchHandler applies only incremental zoom deltas, so it doesn't matter. But WheelHandler cannot apply limits on its own, so currently it lets you zoom in too far. Map stops you from zooming past level 30, which is strange, since it already knows that OSM maps are limited to level 18. So either we need to figure out how to calculate both the min and max accurately so that we can apply BoundaryRule (which will also replace the use of PinchHandler's own limits, and will depend on a fix for PinchHandler to work with BoundaryRule), or we can get Map to enforce the lower limit: 18 instead of 30. A little bit of zooming beyond 18 is ok (for example to 20), but if you go even further, the rendering suddenly disappears. This could be done in a followup patch, and a couple of autotests need fixing then. The incremental zooming is treated as base-2-logarithmmic, although that's an approximation: https://wiki.openstreetmap.org/wiki/Zoom_levels tells us that sometimes one zoom level corresponds exactly to zooming 2X, but going from zoom level 16 to 15 is an 8:15 ratio. It's close enough to feel smooth anyway; and it turns out that Map is rendering fractional zoom levels well enough already. If that were not the case, we'd need to bring the Item.scale property into play. Now that the Map is the same size as the MapView, we have a choice whether the root of MapView should be a wrapper Item or not. The root could be Map itself, with handlers inside; the upside would be that all Map properties are left exposed. The downsides would be losing the opportunity to go back to the other architecture later on (with the root defining a viewport, and rendering a larger map inside, but re-rendering less often), and losing the opportunity to make the view's minimumZoomLevel and maximumZoomLevel different than those in Map itself. As explained above, minimumZoomLevel should depend on viewport size. So perhaps it's better to keep it like this: we have control over which Map properties to expose directly, and for the rest, the user can bind to things like mapview.map.center instead of mapview.center. The geojson example is updated to use MapView, whereas minimal_map applies its own handlers to the Map. Other examples still need updating. [ChangeLog][MapView] MapView is the interactive replacement for the Map item in earlier releases. It wraps a Map instance with pointer handlers to make it interactive. Pick-to: 6.5 Fixes: QTBUG-68108 Change-Id: Ibf6bcf71fa7588fcf8cf117e213f35cebd105639 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove all C++ event handling, prep for pointer handlersShawn Rutledge2023-01-289-2563/+16
| | | | | | | | | | | | | The QML Map type is now non-interactive. The plan is to replace QQuickGeoMapGestureArea with a set of pointer handlers on top of Map, probably in a new QML type called MapView. [ChangeLog][Map] Map is now non-interactive, concerned only with rendering. Pick-to: 6.5 Task-number: QTBUG-68108 Change-Id: Ie64ffd13abc2b3e00d8e90043f3bb672299f4f15 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Get Map.minimum/maximumZoomLevel from camera rather than gesture areaShawn Rutledge2023-01-282-21/+6
| | | | | | | | | | The gesture area will eventually be eliminated; but PinchHandler needs to have minimum/maximumScale set, so it's not useful to ever have those values being NaN. Pick-to: 6.5 Change-Id: Ib69de2370038711a0704f870e005be3b83f9655c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Update MapQuickItems correctly after a size changeMatthias Rauter2023-01-191-2/+3
| | | | | | | | | | The position of MapQuickItems was not updated after a height change. The function setCameraData(...) did not update the position. Fixes: QTBUG-100333 Pick-to: 6.5 Change-Id: I86310000d04b00bfd3de0e7ef3cdc854f2b08a46 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove unused extraParametersVolker Hilsheimer2023-01-135-46/+1
| | | | | | | | | No plugin implements or uses it, and we could use dynamic properties to pass more data through to backend implementations, if needed. Pick-to: 6.5 Change-Id: Ie7cbc1e24fadf51e5f39e0ced53860e6a2c6609b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add Title and Streetnumber to QPlaceSearchReplyOsmMatthias Rauter2023-01-051-3/+4
| | | | | | Pick-to: 6.5 Change-Id: I94e6c673b8aa3ccdc6adf4b3ce5a87b13415475b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Mark the module as free of qAsConst()Marc Mutz2022-12-0714-28/+28
| | | | | Change-Id: Ie67ec9b4f1f808b3b70ca7beb98f90c9cd1f2a9f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove "OpenGL" map item implementationsLaszlo Agocs2022-12-0225-3113/+0
| | | | | | | | | | | | The aim is to have a single solution. And due to certain cases falling back to the default ("CPU") path, this "OpenGL" path is not complete on its own. In addition, some rendering features are not implemented (caps and joins), meaning additional work is needed still to be on par with the default item rendering path. Change-Id: Ie67c8b5ac002c6660f3808c10d9fd9276a16e47e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Clean up: move QGeoRouteParserOsrmV4 into OSM pluginVolker Hilsheimer2022-12-026-5/+5
| | | | | | | | | It's only used there. Need to privately export QGeoRouteParserPrivate for this. Change-Id: I0342dc31836a9db731f495434b9d4c7dd5973af2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Remove map item backend switchLaszlo Agocs2022-11-308-286/+0
| | | | | Change-Id: Ic1ed064269ac73e68d0358b373ea1e8048a1c241 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove QDeclarativeGeoWaypointVolker Hilsheimer2022-11-282-406/+22
| | | | | | | | | | | | The type was introduced as a QML-wrapper around QGeoCoordinate, which is now a registered value type for QML. QGeoCoordindate doesn't have a bearing property, but as waypoints could be initialized with a list of QGeoCoordinate anyway, 'bearing' was only inconsistently supported. If we want to bring that back, then it might be best to add an optional bearing to QGeoCoordinate in Qt Positioning. Change-Id: I3d8cb64f3552dc5580945b17c3a9092a7205b9b8 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Documentation fixesVolker Hilsheimer2022-11-2828-244/+95
| | | | | | | | | | | | Correct spelling of and links to QML value types and to properties of value types. Remove some documentation and snippets that are mostly outdated, and links to specific plugin providers. Silence some warnings. Task-number: QTBUG-96795 Change-Id: Ifba3ae8144e0d949f1c72a4ea230e7f84fa28bd4 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Replace QT_HAS_INCLUDE() wrapper macro with __has_include()Tor Arne Vestbø2022-11-221-1/+1
| | | | | | | | | | | | | Using wrappers for these macros is problematic when for example passing the -frewrite-includes flag to preprocess sources before shipping off to distcc or Icecream. It will also start producing warnings when compilers implement http://eel.is/c++draft/cpp.cond#7.sentence-2. See for example https://reviews.llvm.org/D49091 See qtbase change c3bd5ffdc8a3b459f18ba6e35fca93e29f3b0ab0. Change-Id: Ib3b39c2f47816b8a92ffcc0432322cb0d1ea7dbf Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Polyline: Remove unused backend enum valuesLaszlo Agocs2022-11-151-3/+1
| | | | | | | Have just what is in the other items (Software, OpenGL). Change-Id: I3a8b387fb7a98c9e5580a22cb8af3568c1849434 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Simplify by removing the LineStrip mode for MapPolylineLaszlo Agocs2022-11-1516-341/+69
| | | | | | | | | | | | | | | | | | | | | | Have two modes (Software, OpenGL) for polyline, as it is the case for all other items (rectangle, circle, polygon). OpenGLLineStrip is removed completely, whereas the enum value OpenGL is added with the same value as OpenGLExtruded for symmetry with other items. Drawing lines and expecting wide line (width > 1) support to be avilable is highly non-portable: Direct 3D, Metal, and core profile OpenGL contexts will not support widths other than 1, whereas with Vulkan wide lines are an optional feature so it may or may not work. As the 'backend' property is already marked as internal, it won't present any consequences when it comes to the public API. Internally this requires some untangling of the somewhat intertwined node and material implementations. Change-Id: I175ddb5f84128ed4d0fcf2939272e631566ff327 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add SILENT to qt_add_shaders callLaszlo Agocs2022-11-071-0/+1
| | | | | | | | For consistency with qtdeclarative, and to keep the configure and build output from CMake clean. Change-Id: I8d46051f2021803ccc565d3b4f10ca48e344efe5 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove parameterization functionalityVolker Hilsheimer2022-11-0222-1176/+3
| | | | | | | | | | | | | | | | | | | | | 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>
* Clean up: make getters in QDeclarativeGeoRouteQuery constVolker Hilsheimer2022-11-022-9/+9
| | | | | | | | Declare lazily updated data as mutable. Change-Id: I43c445c569e6499d28c0b3686efdfb9cc146d496 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Disable Esri/Nokia/MapBox pluginsVolker Hilsheimer2022-10-253-9/+23
| | | | | | | | | | | | | As a first step, put them behind feature flags that are always false. Remove mapbox-gl-native as a submodule - there's no reason why people wanting to build that can't clone and build that repo themselves. Don't test the respective providers unless they are available, and use the osm plugin when testing the basic plugin framework. Change-Id: I53429878e53294dce52ee830a4b4613f372898c6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Document more type changesVolker Hilsheimer2022-10-131-7/+12
| | | | | | | | | | | Add routeManeuver and cameraCapabilities to the list of types that are now value types. Clarify language - in Qt 6.5, value types can be instantiated through properties. Complete unfinished statement about MapObjects being gone. Change-Id: I0828d5af7823d7d907bf5fa21a7250ebd70189d1 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Remove leftover labs things from build systemVolker Hilsheimer2022-10-131-7/+0
| | | | | Change-Id: I934f07b0bb1f35fdae295ec57e760ebbaa64fe2e Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Remove unneeded qmake file for zlib dependencyVolker Hilsheimer2022-10-131-6/+0
| | | | | Change-Id: I3b9e9277a8a49159d3c6668d79ffc0292cb15967 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Doc: we don't guarantee compatibility for backend classesVolker Hilsheimer2022-10-126-5/+33
| | | | | | | | | | Similar to QPA, we want to continue to develop the backend APIs between minor releases. Loading a plugin that uses a different Qt version than the application is anyway a bad idea (if supported at all), and for Qt Location specifically we don't want to support this. Change-Id: Ib8b159e1df391bc5a474ddccb6933ab80529264f Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Update changes documentationVolker Hilsheimer2022-10-111-1/+7
| | | | | | | Labs functionality has been removed, and RouteLeg is folded into Route. Change-Id: I3a5003d1f35482637391cb37b88b4a5afd68ea93 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Disable copy and move for private, polymorph typesVolker Hilsheimer2022-10-068-73/+27
| | | | | | Change-Id: I373e324cbe96d0ae34cba62a105bea8a7fdb83dd Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Move the RHI implementation into separate folderVolker Hilsheimer2022-10-0627-2280/+2950
| | | | | | | | | Makes it easier to work with the code, the implementations have little in common that is not anyway abstracted into the common private base class. Change-Id: I4d957833f5a881e1b445ff6e912ffa036d10321a Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Clean up: move code into right place, remove dead codeVolker Hilsheimer2022-10-067-61/+35
| | | | | | | | | | | QGeoMapItemGeometry::geoDistanceToScreenWidth was unused, so remove it. Move path/pathMercator projection helpers to QGeoMapItemGeometry, they are used in items other than the rectangle items. In mapbox plugin, call static helper from correct class. Change-Id: I5645f503a24e23e295211da32e98f995b8c17b56 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Cleanup: move CPU item implementation into cpp fileVolker Hilsheimer2022-10-068-363/+403
| | | | | | | | This will make it easier to split the RHI implementation out into separate files. Change-Id: I4173b46871ba1e84310f9f6bebaae7754879b70b Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>