| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGeoProjection is currently a class containing only static methods for
WebMercator conversion/interpolation.
This patch renames it to QWebMercator, effectively freeing the
QGeoProjection name for a real projection class
Change-Id: I15b71d04f7d1d21a1d26f46687ed33aa277f6deb
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Furthermore, since the candidates for abs(), that g++ found, all took
integral parameters, they would have involved truncation. Our qAbs()
is suitably templated to cope with double naturally.
Change-Id: I373a08657ed182c7d853104879b07fb7704cc418
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As the collection of QGeoShapes grows, this method loses its scope, as
it would have undefined behavior for certain shapes (polygon, or
polyline, for example).
Therefore the base class virtual method is now deprecated, with the
documentation pointing to the specific implementations instead.
Change-Id: I9717df092b8686b5413556858e9dfe7eaa92dd80
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch reimplements the method mercatorToItemPosition using
values relevant for this type of conversion, instead of re-using
values initially computed for the tile generation.
This allows to greatly optimize the method, reducing branches and
the total number of operations, as well as making it easier to
understand.
This patch also removes the support for letterboxing the map
viewport inside the DeclarativeGeoMap, as there now is the
constraint that the map can never be smaller than the containing
element.
Change-Id: Ida98e97ad0a6b65233c80ae3c4abd3ec7664c555
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/location/qdeclarativegeomap.cpp
src/location/maps/maps.pri
src/location/maps/qgeomap_p_p.h
src/plugins/geoservices/nokia/qgeocodereply_nokia.cpp
src/plugins/geoservices/osm/qgeoroutereplyosm.cpp
Change-Id: I18d31cff9233648178fe3e2636ce294026dfaeb7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The current name of this method generate confusion, as what it does
is changing the size of the final element in the application, and not
the actual map size.
This patch renames this method to changeDisplaySize
It also renames QGeoMap::setSize to setViewportSize,
as well as ::size to viewportSize , width to viewportWidth
and height to viewportHeight, to make everything consistent and
self-explanatory.
Finally it also renames minimumZoomAtMapSize to
minimumZoomAtViewportSize.
Change-Id: I7c1ca8bb3ca3d6f6b0fe6fc881b9300db7110527
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch privately exports QGeoMapPrivate, effectively making it
possible to subclass QGeoMap directly.
Change-Id: Ib373eff5ab6782c832464d2df3484d2790ea3644
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds a new MapParameter object to give users access to
specific features of a custom QGeoMap otherwise not accessible through
the standard API.
A MapParameter is implemented by a QDeclarativeGeoMapParameter, which,
in turns, inherits from QGeoMapParameter in the location module.
In this way QGeoMap & subclasses won't depend on declarative, from
this side, still allowing a QMapWidget someday.
The implementation is based, on both sides, on the dynamic
properties of QObjects for defining the MapProperty data.
This allows high flexibility in defining various types of
MapParameters (essentially by duck typing them), and therefore
each plugin which makes use of them must document each of them.
Change-Id: I5f3a8c18e996f290beb8e4ff37d3c2c655eefc6c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds an addition qgeoshapes, QGeoPath.
This represents a geographical path where each consecutive geopoints
are connected along the shortest line of constant bearing
(rhumb line).
The path has a width, in meters, that is used in the contains()
method to decide whether a coordinate is or not on the path, based
on shortest distance to the rhumb line segments.
Change-Id: Ia02780e3c8ac6c6d63a6083f53ea0677f8a21a1d
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGeoRectangle::translate currently modifies the rectangle if the
latitudinal offset brings the rectangle out of bounds.
This patch changes the behavior of the translation, clamping the
latitudinal offset, and preventing changes to the rectangle geometry.
Change-Id: Iedb8823bbd6e3c04ee499bb9f9945049a9590aae
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
this patch introduces QGeoShape::boundingGeoRectangle,
which returns a QGeoRectangle containing the latitudinal/longitudinal bounds
of a geoshape.
The bounding geo rectangle is projection independent, as it returns
a georectangle containing the min/max latitudes/longitudes of the
shape.
Change-Id: Ie3a83ec41f87ea3753899d2278e664fe2469f778
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch tries to simplify the code removing the contained m_reply
from all the Geo[Map,Route,Geocode,Places]Reply classes.
The need for m_reply was associated to the "abort" method, but this
can be solved by emitting a signal in the superclass abort() method,
and connecting that to QNetworkReply::abort() in the constructor.
Since QNetworkReplyHttpImpl always sends an OperationCanceledError
it should then be safe to call deleteLater() on the network reply
in the slot connected to QNetworkReply::error
This patch also prevents the series of
"QCoreApplication::postEvent: Unexpected null receiver" warnings
that are generated due to deletingLater already deleted objects
(abort() emits an error, the reply is destroyed inside the
onError slot, but also in the abort() method).
Finally, this patch removes the setFinished() call in
QGeoRouteReply::abort() since the documentation does not mention
this, and all the subclasses do not perform this operation and
emit the corresponding signal.
tst_qgeoroutereply has been adapted accordingly.
Change-Id: I226ee163e7bed784dd7f0da1522e651459543bca
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/declarative_ui/BLACKLIST
Change-Id: I0f6c9228c899c4d1d55fffc596c661ee0f6c2b66
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/imports/location/qdeclarativegeomap.cpp
src/location/maps/maps.pri
Change-Id: I346d7351e98f4a1aa67c9c0401d41b6da9099f48
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It seems that the combination of mouseClick/mouseMove/mouseRelease
is not able anymore to produce consistent flicking.
This makes some autotests fail, however manually using a mouse succeed
to make the flickable flick.
For this reason this patch skips the failing autotests for the moment
until the root cause is found
Task-number: QTBUG-56679
Change-Id: If5b24ae50eca5e7f1e4d8f2d38bc7e4183c60903
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
So far the manual test application was missing those items in case the
backend supports them.
Change-Id: Ia9fd96fe7d06ee2c36aff59f52fe7f9d898db1ea
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: I5bcca8956007506362c5a96ff345e28718da584c
|
| |\ \
| | |/
| | |
| | | |
Change-Id: Ie8986d40efc5a241cb94ba743e343cbb35f66611
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added binary compatibility data files for tst_bic test
Change-Id: Ia6b466a9d521178abde67720c73a841fbe9a5670
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added the generated data files for the binary compatibility tests
for QtLocation for Qt 5.7.
Change-Id: I254403dcbce854602afd8b4c163bdcd20c47f6b5
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog] Add geoservices plugin to support ESRI mapping
services.
Change-Id: I96fdfd9af77dc51166a9ded268bbcf0d66016fda
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use a variable that expands to the latest plugin version instead of
hard-coding the string.
Change-Id: I8f7864e4ead85487943ed2c4dc2ae2584005c1c9
Reviewed-by: Paolo Angelelli <paolo.angelelli@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit eb238e2cf9013f9a6cd20af0a59180896abdc377 got rid of
QQuickWindowPrivate::itemForTouchPointId by keeping track of the
grabbers in the event points.
Task-number: QTBUG-55229
Change-Id: Icc4bcc987937ee299a47d8aa43147adc53369f47
Reviewed-by: Paolo Angelelli <paolo.angelelli@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: I6a1a72547077c628429ee9a0781070ad3ae787f1
|
| |\ \
| | |/
| | |
| | | |
Change-Id: I37542960aa091ab2074914a2cebb8c5114237a26
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The current implementation is calculating the bounding box of
a geocircle based on moving along a circle of latitude by the
distance of a circle's radius. Unfortunately the distances
on a small circle of a sphere are greater than great circle
distances. Reimplement the calculation using tangential
points between a geocircle and meridians.
Do not center the viewport in the center of the geoshape,
use the center of the bounding box instead.
Simplify zoom level adjustment calculations, use the reference
world plane to get rid of longitude wrapping and rounding
erros.
Finally update a viewport unit test, adjust the minimum map
size to 256x256, so fitToViewport calls have chance to succeed.
Fix out of order test execution.
Task-number: QTBUG-54337
Change-Id: I61726a4eb7183470c493ceb03d101f3a75305121
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Setting the visibleRegion, than changing the map
center or zoom and than setting it again does not work.
Fix the issue by invalidating the region on
the zoom or center change.
Task-number: QTBUG-54141
Change-Id: I4e680f146312e3a3aa90e27fae213042cc2b2a42
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the model is reset, QDeclarativeGeoMapItemView currently removes
all map items and then begins recreating new delegates for model items.
This causes flickering since the mapitems are removed at once, but
the repopulation is asynchronous and allows the scene graph to repaint
in the meanwhile.
This patch delays the removal of current map items until all the new
items have been all incubated, so that removal and readd happen at
the same point.
The patch also adds additional checks to methods like
itemModelRowsRemoved, to verify if an item is still incubating.
Task-number: QTBUG-52301
Task-number: QTBUG-54188
Change-Id: I2f27114c3898bd61b1282b1f27b5f062bed1fe35
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QGeoMapPolylineGeometry is currently erratic due to the semi-randomly
varying geoLeftBound, that basically defines how the line will be drawn.
This patch uses a consistent way to calculate this value in all the
QDeclarativeGeo-items, at coordinate-definition time.
The new approach implies that each pair of points in a polyline
are connected in the longitudinal direction of the shortest path.
The patch attempts to optimize the common addCoordinate path by
incrementally searching for the left bound.
The patch also makes the other geoshapes (GeoPolygon, GeoCircle)
behave in the same way.
Task-number: QTBUG-43107
Task-number: QTBUG-52610
Change-Id: I7a0f6c4370fd6c50999fd2e5b1a7aa5954c8a8fc
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
|
|/ /
| |
| |
| |
| |
| |
| | |
This patch adds routing support for the mapbox plugin
Change-Id: Ibaf9d9d8a845b49cb8a6fc0d3530ffe57f4989db
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|\ \
| |/
| |
| | |
Change-Id: I36abd2a91a470360c87f23a6d8084f908d93e7e0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QDeclarativeGeoMapItemBase::childMouseEventFilter currently does a
contain() check on the clicks but also on the mouse move events.
by not doing it on mouse move events the problem seems fixed, but the
autotests get broken because it seems that the map doesn't get panned
anymore but the element gets dragged instead.
Task-number: QTBUG-52075
Change-Id: I5ce340ca591ec924eebed1fe7acda18d31301fc5
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since change 820f79284248e5fcc9910282055e67f07c918559
map can not have "borders", remove test which tries
to drag items in/out of map borders, moreover
particular test tries to drag items which are not
visible, which gives anyway false results.
Add missing zoomLevel setting to init().
Change-Id: I4932e767fe1b9e3d213ef7b2f654a9bbe857de78
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|\ \
| |/
| |
| | |
Change-Id: I066dc4f161f4bdfe182ba9fe00d273e5fbcedf5d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changes eea315187d1add70aaf69745c031b8d6342b2303
moved map items final position calculation to "polish"
call of sg. In unit testing "waitForRendering" was
introduced to sync between input events processing
and items being polished. Unfortunately this approach
is race condition prone, since render can run in
separate thread and frame swapped signals are
emitted from render thread. Replace waitForRendering
with waitForPolished instead.
Improve test execution by providing init() and
intTestCase() functions for map items unit tests,
so test can be run "out of order" manner.
Add missing namespace macros for location test qml
plugin.
Task-number: QTBUG-31797
Task-number: QTBUG-53455
Change-Id: Iec083143ae621e5be603d03f43d6ef260b056d0f
Reviewed-by: Paolo Angelelli <paolo.angelelli@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|\ \
| |/
| |
| | |
Change-Id: If8d408079ba6cceffd516c0ed95a21a2ca1ca2a0
|
| |
| |
| |
| |
| |
| |
| | |
Apparently this test passed until now for mysterious reasons
Change-Id: I9597c13bc7b3d8fee148d6e1095b7a09ea3b37dc
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|\ \
| |/
| |
| | |
Change-Id: Ifed3a326085bd4aaff069007966efd6932c2be3b
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-53455
Change-Id: Ib65496de7e59341fe4ed8a443aed10fe4b2a63d4
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
the "created by qt creator" header is not supposed to be checked in.
Change-Id: Ib5cc25c57d3d096f818d67169ec98c9f3cb75c47
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ie1fe505d7b07a66e41ed7968275feaa98abe46d2
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGeoCoordinate.azimuthTo() currently returns negative value
(between 0 and -1) for azimuths that should instead be in the range
between 360 and 359.
This patch should bring all returned values in the range [0, 360[
(360 excluded).
Change-Id: I0b5ee7c3fc2bbeb80ca8167a53c7c16d9e067e29
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove checks for cameraCapabilities during each
setCameraData call. This checks are already performed
on plugin initialization. Refactor QGeoMapPrivate
to reduce resize calls. Rename updateRequired to sgNodeChanged
to reflect real useage. Add setter setSize for QGeoMap.
Change-Id: If4e3501fa99a8a97cbc471990837b08c43b8e723
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Refactor code to use QGeoCameraData directly. All functionality related
to zoom, center boundary checks are now handled in QDeclaratvieGeoMap class.
This makes handling of center and zoomLevel properties much simpler and
less error prone, since camera data can not be modified along the
call stack. As result we avoid forwarding change signals back and forth:
* qgeodeclarativegeomap::setCenter -> qgeomapcontroller::setCenter
* qgeomapcontroller::setCenter -> qgeomap::setCameraData
* qgeomap::setCameraData -> qgeomacontroller::cameraDataChanged
* qgeomapcontroller::cameraDataChanged -> emit qdecalartivegeomap::centerChanged
Call always setCenter and setZoomLevel on qdeclarativegeomap
instance instead.
Introduce initialize() method to handle cases where map plugin is loaded
and scenegraph geometery is not yet set. This is required to correctly
handle new boundary checks to limit grey areas.
Change-Id: I6066cefd4a648dc76333dc241d1f261451a32e9c
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since the class QGeoMapScene is tightly coupled to QGeoTiledMap, this
patch renames it into QGeoTiledMapScene/QGeoTiledMapScenePrivate, to
clarify the structure of the module and avoid confusion, as otherwise
it would not be clear that this class is exclusively used by QGeoTiledMap.
Change-Id: Ifd76b02ff14d0f0690dc37fcb0a93b0e0702d05d
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch introduces a lower bound for the minimum zoom level of
a map element so that it becomes canvas size dependent, and it will also
prevent the map from being smaller than the canvas size in either
dimension, avoiding gray bands.
It also bounds the center of the map so that the map cannot be panned or
flicked out of bounds.
The documentation for QDeclarativeGeoMap::minimumZoomLevel has been
modified to reflect the new behavior.
A few testcases have been modified to reflect this new behavior and its
implications.
Change-Id: I3c8160d0295e8dda2f7001e8fec68a5200ea2172
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QtPositioning][General] Added qHash(QGeoCoordinate()).
Task-number: QTBUG-51404
Change-Id: I02c6dc0a5399ebf3181b34ffa58a82a2119118a0
Reviewed-by: Paolo Angelelli <paolo.angelelli@theqtcompany.com>
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Current implementation uses same QGeoCameraTiles object
to calculate visible tiles and tiles which should be
prefetched. This is semi optimal since frustum intersection
algorithm uses bunch of different parameters.
Simplify the logic and use separate objects, this way
values in both cases are cached and calculation is done when required.
This is important since prefetchData can be called
anytime from map's API.
Remove textured tiles from scene when clearCache called,
this will force redownload of all the tiles.
Add new unit test qgeotiledmap and move prefetch test
due to refactoring.
Change-Id: I6a906df405f212436cdd35ac76f95b559e6b7aae
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Do not compile in plugin sources, instead load the plugin
Forthcoming cpp tests should use the same schematics.
Change-Id: I8e1b21ed4e44fb78e4541966e1890a556ef527fe
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Test tiles prefetch for PrefetchNeighbourLayer and
PrefetchTwoNeighbourLayers.
Reformat unit test so it is easier to browse
the code.
Change-Id: Ifcda364052960f0112a1859c25cb8d9d05df2023
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|