summaryrefslogtreecommitdiff
path: root/src/location/declarativemaps
Commit message (Collapse)AuthorAgeFilesLines
...
* | Fix 5.13 API Review Issues for LocationPaolo Angelelli2019-03-072-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revision invokable fitViewportToGeoShape method. Q_REVISION was missing in the change that introduced this invokable method. Fix revision of Route.extendedAttribute. The revision for this property must be 13 as it has been introduced in 5.13. Register QDeclarativeGeoLocation with revision 13. So that the newly added extendedAttributes property, in 5.13, works. Fixes: QTBUG-74247 Change-Id: Idcddef92966308af118e96a3549ce9e2cf972d72 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Add departure time attribute to route queriesv5.13.0-alpha1Paolo Angelelli2019-02-062-0/+30
| | | | | | | | | | | | | | | | | | So that it can be used to improve the route calculation based on traffic information or other time-based information (ferries etc.) Change-Id: I8bdc81046484cc4f0ebfaffbdf6f034c555d7781 Fixes: QTBUG-70503 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Introduce QGeoMapObject::geoShape propertyPaolo Angelelli2019-02-013-0/+17
| | | | | | | | | | | | | | | | | | | | In this way MapObjects become a little closer to MapItems, and this property can be used to, for example, center the map on one specific object or object group. Fixes: QTBUG-69640 Change-Id: I4dbead9e670bf5d1eeaccb2bd09d956b8de7da87 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Fix crash when removing items from MapboxGL mapsPaolo Angelelli2019-01-2912-31/+13
| | | | | | | | | | | | | | | | Triggered by usage of a virtual method in superclass destructor. Change-Id: If99e523e42fd13686ae43c0083a74e1b68221fc7 Fixes: QTBUG-67638 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Unify semicolon usage in Q_UNUSEDJesus Fernandez2019-01-235-6/+6
| | | | | | | | | | Change-Id: I36dd6881b6f6f028869d63b6311cba7f52a99cc4 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-221-2/+3
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I8d0881209c8b0a0dce4ed949ef89ee2679448420
| * Fix crash when assigning a Component to MapQuickItem.sourceItemPaolo Angelelli2019-01-111-2/+3
| | | | | | | | | | | | | | | | | | This workaround is currently needed until QTBUG-72930 gets fixed in qtdeclarative. Change-Id: Id75fa2048dd6e012c99f61cdc07cfedbe8c6bf83 Fixes: QTBUG-61509 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Expose manager-specific errors from QGeoServiceProviderPaolo Angelelli2019-01-143-8/+8
| | | | | | | | | | | | | | | | | | So that there's no risk to mix failures when creating multiple managers. Task-number: QTBUG-72180 Change-Id: I5c3b18ba17094e1480b2376e37b58d47029ca8f4 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-101-0/+3
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I0724ca9ffbb8099f698b090a4fdd993fad2c2302
| * Fix MapItemView attempting to instantiate items with map not setPaolo Angelelli2019-01-071-0/+3
| | | | | | | | | | | | | | | | | | | | This case was not a problem when the only incubation mode was Asynchronous, because the test for m_map was done in createdItem. Now that Synchronous is supported too, this check has to be done earlier or else instantiated items will never be added to the map. Change-Id: Ifaa033fb0b64cabe74df395fcb387d162cd02b80 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Fix using the wrong type in MapPolygon setGeoShapePaolo Angelelli2019-01-071-1/+1
| | | | | | | | | | | | | | | | | | This patch fixes a bug introduced in e7bb8f636086c04acd97e4eb3c42e7c6c05dc8f2 where the wrong type is used in QDeclarativePolygonMapItem::setGeoShape Change-Id: Ic5206bec4d499759f23abe8749c05d3df11f5ede Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | QGeoPath/QGeoPolygon: defer bbox computationPaolo Angelelli2018-12-212-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces 2 versions of QGeoPath/polygon private: a lazy version (default) and an eager version. The reason is that certain classes such as MapItems make heavy use of the bounding box of the geoshapes, as well as the contains method, and in those cases it's beneficial to have it eagerly computed and cached. Other use cases do not see this feature so much in use, and the added costs, both in terms of computation and in terms of memory requirements for cached data can be avoided. As the patch currently stands, using copy constructors for QGeoPath and QGeoPolygon with a QGeoPathEager and a QGeoPolygonEager (and vice-versa) changes the type of d_ptr. This means that doing, for example, QGeoPath(someQGeoPathEager) effectively returns a QGeoPath that behaves like a QGeoPathEager (although not being one). Change-Id: I8cfed1e0a747139d0fb6d5fb5236bf5f5fbf24c1 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Add Map.fitViewportToGeoShape(shape, margins)Paolo Angelelli2018-12-112-36/+62
| | | | | | | | | | | | | | | | | | This method extends the functionality of setting the visibleRegion, by also allowing to specify the margins in pixels. Task-number: QTBUG-69640 Change-Id: I196d0410782992ad2ac954aa08e226521b87ba7b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-12-106-23/+29
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I00453b819d65460dabf771617e6181275461cc78
| * Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-12-103-12/+3
| |\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ifd3514a958d0df4320b253c26e3da3a632088be8
| | * Fix compilation with GCC < 5.0Paolo Angelelli2018-11-301-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Apparently unable to resolve QPointers to pointers Change-Id: I04b3b7698ea083f83bc2713530656ca8b3f3ac28 Fixes: QTBUG-69512 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * Fix missing geometry update when changing border widthPaolo Angelelli2018-11-192-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | In this case, only border geometry was marked dirty, producing a misplaced polygon. Fixes: QTBUG-70886 Change-Id: Ied39e523a584976871a655e436daf8c2700458b6 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * Fix unstable rotation gestureTasuku Suzuki2018-11-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Order of touch events are not sorted on some platform. When touch point 1 and 2 are swapped, map is rotated 180 degrees in a moment Change-Id: I9c308b805a6ca54519f26a9ff19217de7f947c17 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
| * | Fix compilation with gcc 4.8Ville Voutilainen2018-12-031-8/+8
| | | | | | | | | | | | | | | | | | | | | GCC 4.8 doesn't like using QPointer in signal connections. Change-Id: I9504efb259712a65427ef1366ca562882085404e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Make tiled renderer and QGeoProjectionWebMercator debuggablePaolo Angelelli2018-11-282-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a new macro, QT_LOCATION_DEBUG, that, when fed via qmake command line, changes the scope of some members, adds some extra members and some extra data dumping into these members. In this way external code can inspect the state of the renderer in order to debug it. The patch also moves a few classes into separate files, as well as privately exporting them. Change-Id: I32a042863f78dcd10f94b0b7fe8b90f3fc486891 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | Move declarative positioning classes to positioningquick, fix exportsPaolo Angelelli2018-12-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDeclarativeGeoLocation and QDeclarativeGeoAddress were incorrectly publicly exported (Q_POSITIONING_EXPORT) in QtPositioning, for using them in QtLocation (geocodemodel, declarativeplace), although they are private classes. This patch moves them into positioningquick, that, now that is available, is supposed to contain all the declarative positioning types. The patch also correctly privately export these types. Change-Id: I1bde17026fe122860e8977a98262c0707939c227 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Allow QGeoCodeReplyPrivate to be subclassed and carry extra dataPaolo Angelelli2018-12-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Stored in form of a variant map. Currently used for debugging purposes. Change-Id: I49fa4b51da0d5947e3b292b6cde96cb496cef9e6 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-273-50/+184
|\ \ \ | |/ / | | | | | | Change-Id: I79898ba40dcce8054a105867ab2a88f1fba72c1f
| * | Fix MapItemView removing wrong indices on model changesPaolo Angelelli2018-11-222-46/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The incubating indices bookkeeping was wrong. This patch removes the bookkeeping and relies on the delegate model doing the right thing when a row is gone but the delegate still incubating. Fixes: QTBUG-71264 Change-Id: Ibf5e525aa7ac79faf2fa149b52def05893d0bcc0 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * | Fix GeoProjectionWebMercator and MapPolyline incorrect projectionPaolo Angelelli2018-11-191-4/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes rendering artifacts with polylines appearing when rendering large polylines and/or at high zoom levels. Two problems caused the artifacts: 1.A too close near plane when calculating the projectable region in QGeoProjectionWebMercator, which presumably introduced numerical errors when then using such a region to clip data to be projected using a projection transformation based on the same frustum. 2.Projected polylines too large for qTriangulatingStroker, that would then introduce artifacts at screen. To solve 1., as a temporary solution, the distance of the near plane has been increased to a value that seems safe for zoom levels < 19. This while a better formula that scales further is being researched. To solve 2., screen-space line clipping has been brought back from 5.8, and added on top of mercator-space clipping. This, in theory, should also increase the performance, allowing qTriangulatingStroker to process less data. Task-number: QTBUG-71607 Change-Id: Id774419dde819931e2fdd78b02081695a91302ef Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-032-6/+4
|\ \ \ | |/ / | | | | | | Change-Id: I219444e81a9b304b11b0cecce84415acdb3ade57
| * | Move qquickcoordinateanimation to positioningquickPaolo Angelelli2018-10-292-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | So plugins can use it, also stand alone ones, and no ugly "import ../" anymore. Change-Id: I4e53815e041e13d495026d60a826a31bccaef2b4 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Bramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com>
* | | Add extended attributes to QGeoRoute/QDeclarativeGeoRoutePaolo Angelelli2018-09-242-0/+33
|/ / | | | | | | | | | | | | | | | | This to be able to push plugin-specific data for which an API is not yet available in these classes. Task-number: QTBUG-70502 Change-Id: Ie7d715a545f1174ae7c118bd1b269dca51282301 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Allow injecting the qml engine into geoservice pluginsPaolo Angelelli2018-09-041-0/+1
| | | | | | | | | | | | | | | | With this geoservice plugins can register Image Providers. Change-Id: Ie2380d658758d2eba376035b4d0b5d5121cfcde2 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add support for route legsPaolo Angelelli2018-08-242-3/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for route legs, that are the portions of a route between one waypoint and the next. QGeoRouteLeg in particular can be seen as an API addition to QGeoRoute in that it uses and exposes additional methods added to QGeoRoutePrivate but not used in QGeoRoute. Currently the request for legs is set to be the same as the request for the entire route. Finding the related bounding waypoints has to be done programmatically using the legIndex property. Change-Id: If462b1dc6348be16dc96b167db5500f079fe0a64 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Fix missing emits pre-map-initializationPaolo Angelelli2018-08-211-0/+15
| | | | | | | | | | | | | | | | | | | | This patch fixes a regression introduced with 367c49e91366aa9b13bc7d64209321168680841e, that doesn't make the Map emit property changed signals before it is initialized for camera data properties. Change-Id: I14ea0a08780d7b2ed79c72f37bc340a1780a0d78 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Move management of QDeclarativeGeoMap camera data into QGeoMapPaolo Angelelli2018-08-202-122/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes QDeclarativeGeoMap always refer to QGeoMap when it comes to setting and getting camera data properties. The signal emission for each of these properties is also deferred to the reception of QGeoMap::cameraDataChanged. This patch also enable plugins to enforce tilt ranges per zoom, updating the tilt value (as well as any other camera data value) on their own. Change-Id: Icc16645ea53fa2b53b33530f802ce390a2479d39 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Make QDeclarativeGeoMapItemBase::geoShape R/WPaolo Angelelli2018-08-1411-2/+89
| | | | | | | | | | | | | | | | This patch adds a setter for the geoShape property, overridden in the subclasses. Change-Id: I5fc4d412efee5e95c5650943ea5bf9b72dc40155 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Remove usage of deprecated, internal QML APILars Knoll2018-08-034-16/+0
| | | | | | | | | | Change-Id: I4c9a27532f96a885d8baa7a790b2b983b2eb3bb3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Remove MapItemViewDelegateIncubatorPaolo Angelelli2018-07-273-79/+0
| | | | | | | | | | | | | | | | Now that a delegate model is used internally by MapItemView, this class is not used any more. Change-Id: Ic0c35d6797a19549da6bc271b76e3529d812995e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Enable nested MapItemViewsPaolo Angelelli2018-07-2711-323/+758
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change allows MapItemView to use a MapItem, MapItemGroup or MapItemView as delegate. To achieve this, MapItemView base class also changes from QObject to MapItemGroup, effectively making MapItemView a MapItemGroup. Note, though, that MapItemGroup API in Map should be avoided, when dealing with a MapItemView, and only MapItemView-specific API should be used. Tests and example coming after [ChangeLog][QtLocation] Enabled nesting of MapItemView. This required a behavioral change, as MapItemView is now a MapItemGroup, not anymore a plain QObject. Due to a bug, MapItemView was previously not a Qt Quick Item, making it possible to create it as a child of any QObject. This has now been fixed, so if you happen to have a MapItemView in your scene which is not a child of a Qt Quick Item, you will get an error message. Task-number: QTBUG-62683 Task-number: QTBUG-62397 Change-Id: Id97e480429e7f952a541fe88df5c01317afeac18 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Introduce Map.visibleAreaPaolo Angelelli2018-07-265-28/+101
| | | | | | | | | | | | | | | | | | | | This will allow moving the visible map area to a subregion of the viewport, allowing to maintain the desired visible region visible when overlaying controls on top of the map. Task-number: QTBUG-68966 Change-Id: Idf4b30f7c1e4062e5e1c0ddc01a31bc856c0bc0c Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Fix compilation when building with qreal defined as floatLuca Carlon2018-07-191-12/+12
| | | | | | | | | | | | | | | | Call function templates with explicit type to force call using double precision arguments even when qreal is defined as float. Change-Id: Ida5004cdcba9b984a897e2eb7ae15044080d6adc Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Expose add/remove transitions in MapItemViewPaolo Angelelli2018-07-042-2/+20
| | | | | | | | | | | | | | | | In this way these transitions can now be customized by the user. Change-Id: I949d0caab65b0e71012bf77baee9c847c8f415a0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Adjust to internal API changes in qtdeclarativeLars Knoll2018-07-034-0/+16
| | | | | | | | | | | | Change-Id: I37fd81cfaf2599859581e2a359f87f15b772db98 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Add QDeclarativeGeoRoute::equalsPaolo Angelelli2018-06-262-0/+14
|/ | | | | | | So that deep comparisons can be performed in QML too Change-Id: I484644d4ddf3334c16321e5fc361504e9de105b2 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Doc: Add missing dots (qtlocation)Paul Wicking2018-06-211-1/+1
| | | | | | Task-number: QTBUG-68933 Change-Id: Ie7863b196363022c0bb7c1fa4f258c4700b5abb3 Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
* Fix MapItemView deleting wrong itemsPaolo Angelelli2018-05-292-8/+39
| | | | | | | | | Asynchronous incubation caused messing up with internal index. Task-number: QTBUG-68366 Change-Id: I9d9edbe42b7ace488c1a7f8728214ae1061caa26 Reviewed-by: Peter Staab <peter.staab76@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix change-of-sign warningThiago Macieira2018-05-231-1/+1
| | | | | | | | | qdeclarativegeoroute_p.h(102): error #68: integer conversion resulted in a change of sign void initSegments(unsigned int lastIndex = -1); ^ Change-Id: I052407b777ec43f78378fffd15311bd2bb1cdfdc Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix QDeclarativeGeoRouteModel::get docPaolo Angelelli2018-05-091-1/+1
| | | | | Change-Id: I4bba86863bb902b26f493bd0104dbe87579de9e6 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix crash in Map{Polyline,Polygon,Route}ObjectQsgPaolo Angelelli2018-05-091-7/+3
| | | | | | | | | | | | | | | | When these objects get added to a map but aren't immediately visible (meaning are outside the visible region entirely), their respective QSGNodes will be marked as blocked. However, this isn't handled gracefully in qsgbatchrenderer. Renderer::nodeWasAdded discards nodes that are blocked. Meaning that when they will become unblocked, the node will result in being unallocated. This patch makes sure that a node is not instantiated at all if it would result in a blocked node. Change-Id: I8e174ba1d317e1d0c4006d993ec558bdad8a5b39 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix MapPolyline docPaolo Angelelli2018-05-091-5/+0
| | | | | | | | GL_LINES aren't used anymore. Remove the related note. Task-number: QTBUG-63223 Change-Id: Ic309b3ad4626506151b20f69e5f11a3f1d7cc888 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.11.0' into 5.11Paolo Angelelli2018-05-0412-46/+98
|\ | | | | | | Change-Id: I0bb00d16c891856cfbe1042ce166bbd156e9f41b
| * QDeclarativeGeoMap::copyrightsVisibleChanged() was not added in Qt 5.11Alex Blasche2018-04-241-1/+1
| | | | | | | | | | | | Change-Id: Id80bf6b1919f0c6d6f96a315289f67ddad220f2f Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
| * Fix QGeoMapObject handling in reference implementationPaolo Angelelli2018-04-225-36/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setVisible was neither changing the visibility nor triggering repaint. Pimpls weren't removing themselves in their destructors when dynamically added/removed via QGeoMapObjectView add/removeMapObject. This patch also factors out the duplicated QGeoMapObject support from QGeoTiledMapLabs and QGeoMapObjectsOverlay and moves it into an own class, QGeoMapObjectQSGSupport. To properly flush the scene graph nodes upon object removal, a pointer to the QSGNode is added to the MapObject struct, now moved inside QGeoMapObjectQSGSupport. Change-Id: Ie8c6d54f8f340ba3867717d9620791d3fe8021cc Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>