summaryrefslogtreecommitdiff
path: root/src/positioning
Commit message (Collapse)AuthorAgeFilesLines
* Make QGeoProjectionWebMercator use a projection matrixPaolo Angelelli2017-01-234-1/+2068
| | | | | | | | | | | This patch changes the way QGeoProjectionWebMercator implements its operations -to and -from screen coordinates. By using a double matrix 4x4 instead of only scaling and shifting this will make it possible to convert coordinates also in presence of bearing and tilting != 0 Change-Id: I6a74a9675a7ad397ec6ad32f4274f897aa7694b1 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Rename QGeoProjection to QWebMercatorPaolo Angelelli2017-01-166-27/+28
| | | | | | | | | | 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>
* Deprecate QGeoShape::extendShapePaolo Angelelli2016-12-075-1/+35
| | | | | | | | | | | | 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>
* Add support for QGeoPathPaolo Angelelli2016-12-016-4/+924
| | | | | | | | | | | | | | 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>
* Use QLocationUtils::wrapLong thoughout the codePaolo Angelelli2016-11-303-37/+8
| | | | | | | | This patch remove if-else used to wrap longitude in the codebase, replacing with the existing utility method wrapLong Change-Id: I7a6eefa6f40b3dd0f47fec987c9197e294303873 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Change QGeoRectangle::translate to not modify the rectanglePaolo Angelelli2016-11-301-27/+9
| | | | | | | | | | 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>
* Add support for boundingGeoRectangle to QGeoShapePaolo Angelelli2016-11-3010-109/+288
| | | | | | | | | | | | 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>
* Merge remote-tracking branch 'gerrit/5.7' into 5.8Alex Blasche2016-11-021-0/+93
|\ | | | | | | | | | | | | Conflicts: tests/auto/declarative_ui/BLACKLIST Change-Id: I0f6c9228c899c4d1d55fffc596c661ee0f6c2b66
| * Merge remote-tracking branch 'gerrit/5.6' into 5.7Alex Blasche2016-11-021-0/+93
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/location/qdeclarativegeomap.cpp src/location/maps/maps.pri Change-Id: I346d7351e98f4a1aa67c9c0401d41b6da9099f48
| | * Add OSRMv5 support in osm pluginPaolo Angelelli2016-10-061-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the OSRMv5 protocol (the only one currently available on the OSRM demo server router.project.osrm.org). Support for the old v4 protocol is retained, in case of users who supply their own osm.routing.host parameter pointing at a self hosted OSRMv4 server. The support for OSRMv4 and v5 has been moved away from the osm plugin and into the location module because this should be used in the mapbox plugin in a subsequent patch (the routing support in the mapbox plugin currently uses the text direction coming from the server, which does not support i18n) Task-number: QTBUG-56119 Change-Id: Id30fd536c7fd434011795f643221f55becfc9e18 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | Fix symmetry of streaming in QDataStreamThiago Macieira2016-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | If one uses int to stream in, then use int to stream out too. Change-Id: Ic46ff326a6ba46bc877cfffd1483206384439f78 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Convert qtlocation to the new configure systemLars Knoll2016-10-281-0/+48
|/ / | | | | | | | | | | | | | | And clean up the code detecting gypsy and the WinRT positioning API. Change-Id: Ic561d565d6fc733703ef6c0dc164e737e0b3d4fd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Doc: Remove references to Windows CEVenugopal Shivashankar2016-08-181-3/+0
| | | | | | | | | | | | | | | | The platform is not supported since Qt 5.7 Task-number: QTBUG-55331 Change-Id: Iba1146abaa8b17537453c367aed2a7c58e0aacda Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-161-1/+1
|\ \ | |/ | | | | Change-Id: I1903c3a181663c424f0ff13abcc9fb7a5bdb784e
| * Doc: Change instances of 'OS X' to 'macOS'Topi Reinio2016-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | As of version 10.12 (Sierra), the name of Apple's desktop operating system will be macOS. Change all occurrences where the platform is discussed to use the macro \macos (defined in the documentation configuration in qtbase). Change-Id: Iea1581dc1929e53d710a2fc5eedbdf560a2d225f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Remove obsolete WinCE doc from QGeoPositionInfoSourceAlex Blasche2016-07-191-3/+0
| | | | | | | | | | Change-Id: Ie5c08b9a4bf9a4adc7c02ff81eb94b547c305dba Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Simon Hausmann2016-05-181-1/+1
|\ \ | |/ | | | | Change-Id: Ifed3a326085bd4aaff069007966efd6932c2be3b
| * Doc: Remove repository name from examplesinstallpathTopi Reinio2016-05-181-1/+1
| | | | | | | | | | | | | | | | Examples in binary packages now directly match the install path. Change-Id: I9315d395c4546adfa58e264f66d98fb443ab1e72 Task-number: QTBUG-52953 Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* | Fix for negative QGeoCoordinate.azimuthTo results in range ]360, 359[Paolo Angelelli2016-04-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-081-0/+2
|\ \ | |/ | | | | Change-Id: I9e85d2002151f7c53d2edbb4d8a078816aff693e
| * winrt: add default capabilitiesMaurice Kalinowski2016-04-081-0/+2
| | | | | | | | | | | | | | | | | | | | A module compiled for WinRT should define a default set of capabilities to enable all features specified by the module. Task-number: QTBUG-38802 Change-Id: Icaf02178eeb81c76128c1fc886aa6363d74e07ee Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-089-363/+1
|\ \ | |/ | | | | Change-Id: I18bb1c341e7d87cd1d649f2c3fc9c50141c6a1a9
| * Add explicit and make public headers compile with ↵Marc Mutz2016-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Wzero-as-null-pointer-constant ... or equivalent. QtBase 5.6 headers already compile that way, so let the other modules follow suit. Added explicit where it was missing. This is not a source- incompatible change, because code that breaks by this is a bug. Let's not have this sitting around in an LTS. Task-number: QTBUG-45291 Change-Id: I279fd100b61d3e2b2e46e7cbd30cc6b4bfb4d10e Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * Update examples documentation locationMichal Klocek2016-02-268-362/+0
| | | | | | | | | | | | | | | | | | | | The current way of documenting examples is to include qdoc and images source into example directory. Fix examples in location and positioning. Replace planespotter.jpg with png. Change-Id: I4eeacbfa575e7ae3ef747703348f2f201899e548 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Add hash function for QGeoCoordinateAlex Blasche2016-03-022-0/+19
| | | | | | | | | | | | | | | | | | [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>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-262-0/+13
|\ \ | |/ | | | | Change-Id: I23c874c5dcd0452142c3cf8abff65415ad31a1e7
| * Add "We mean it." comment to qpositioningglobal_p.h.Friedemann Kleint2015-12-151-0/+11
| | | | | | | | | | | | | | | | Fix warning: QtPositioning: WARNING: qtlocation/src/positioning/qpositioningglobal_p.h does not have the "We mean it." warning Change-Id: I72d276587e2d1476be3ec26f1e86d0aa9865ac65 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * Fix broken weatherinfo exampleAlex Blasche2015-12-071-0/+2
| | | | | | | | | | | | | | | | | | openweathermap.org requires an appid these days. The free plan permits usage for commercial and non-commercial cases. Task-number: QTBUG-49772 Change-Id: I28be90709b4879df515346e03372d494d94a4f01 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-2052-730/+1042
| | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Iaee1a5fd53291752a1891710ee375ca32778b142 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | fix expensive iteration over QMap::keys(), QHash::keys()Anton Kudryavtsev2016-01-153-15/+15
|/ | | | | | | ... and QJsonObject::keys() Change-Id: I9a8ba44406a1e2cbdfffd266d2b5cb664f7440fc Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Share common data between b2qt emulator and simulator pluginMichal Klocek2015-11-234-2/+291
| | | | | | | | | Share position information structs between client and server implementations for simulator plugin. Required structs exported as private export. Change-Id: I7c8fb4b93d8cacd6217096e28f770409c8939c29 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Doc: Update examplesinstallpath to include the repository nameTopi Reinio2015-10-211-1/+1
| | | | | | | | | | | | The examplesinstallpath variable in .qdocconf files defines the path under QT_INSTALL_EXAMPLES where examples are found. To match the way examples are packaged in Qt 5.6, prefix each install path with the repository name. Task-number: QTBUG-48736 Change-Id: Ie14b7b15f94e96540d94a7384530faabd8b539f3 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* Update supported platform list for PositioningLaszlo Agocs2015-10-091-2/+3
| | | | | Change-Id: I89fda2e203ea596dc4975c3b0c87b8e47565489d Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Add missing "We mean it" comments to private headers.Friedemann Kleint2015-10-084-0/+44
| | | | | Change-Id: Id3ef277b5610a45ffa42850dd9415e963ed45285 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Enable positioning for OS XLaszlo Agocs2015-09-101-0/+1
| | | | | | | | | | Core Location works just fine. Add also a helpful hint to the "unknown" error that comes when Wi-Fi is turned off. Change-Id: I0240f1e070217e19aff4c9329d680dd9991b74b1 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Remove dependency on libgeoclue.Aaron McCarthy2015-09-101-4/+4
| | | | | | | | | | | | | | | | Re-implement Geoclue plugin using only Qt DBus dropping both the build-time and run-time dependency on libgeoclue. Allowing the Geoclue plugin to be build on all platforms that support Qt DBus. The priority of the Geoclue plugin has been lowered slightly so that the native position plugin, if available, has precedence. [ChangeLog][QtPositioning][Position] The Geoclue plugin has been re-implemented using Qt DBus. Task-number: QTBUG-40702 Change-Id: Ia06d089bfb46c10769ccffd765c044c361a9b484 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Skip loading real plugins in testsLaszlo Agocs2015-09-092-0/+12
| | | | | | | | | | Introduce a new plugin metadata field "Testable" that can be used to indicate that using the plugin in question in test runs (e.g. in a CI environment) is dangerous. We can then check for QT_QTESTLIB_RUNNING and skip the plugin in question. Change-Id: Iabe9f1600d7274e0e9224dc49d02aa2e5d3cabd6 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Cache coordToMercator result during coordinate animationsMichal Klocek2015-07-033-6/+42
| | | | | | | | | | A calculation of Mercator transformations is expensive. Cache calculated values in QGeoMercatorCoordinatePrivate. Caching is only enabled for QGeoCoordinateAnimation. Default coordinate interpolation does not use caching. Change-Id: I5fe67e6a3da6e4b01c0e0ad33d1f45a152660937 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Fix map flick animation in qdeclarativegeomapgestureareaMichal Klocek2015-06-302-19/+0
| | | | | | | | | | | | Current implementation is using QPropertyAnimation for flick, which was suitable for old QML1. Use QQuickCoordinateAnimation instead. This change is necessary to control what type of coordinate interpolation is used for flicks. It reverts 58d8b5e84ac6952b411cff3bca7336073349290e. Task-number: QTBUG-46147 Change-Id: I0a3bf263147b3733c617d38c364f66173b806de5 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Make use of qBoundAaron McCarthy2015-06-261-2/+1
| | | | | Change-Id: Ia6859fa30118f29d6074d4ffed9e22023f75cc3b Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Remove official support of BlackBerry on 5.5 in QtPositioningAlex Blasche2015-06-171-1/+1
| | | | | | | | The relevant code base will be removed in Qt 5.6. This change prepares qtlocation repo for the removal of the "Qt for BlackBerry" link. Change-Id: I7c68bc1a00b966f3ce46c85a8cbcee6cd2305063 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Workaround for failing conversion between Q_GADGET'sAlex Blasche2015-05-262-0/+33
| | | | | | | | | | | | | | QGeoRectangle and QGeoCircle are subclasses of QGeoShape. Before this patch setting a QGeoShape property of a QML object is not possible because the QGeoRectangle/QGeoCircle cannot be converted to a QGeoShape. This patch addresses the problem by providing custom converters for the above classes. It enables QVariant::convert() for the classes above. Change-Id: I7daba5254dad0df598324432db3b1819e68648b6 Task-number: QTBUG-46232 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Fix crash when initiating map flick w/o QtPositioning importAlex Blasche2015-05-202-0/+20
| | | | | | | | | | | | | | | | | | A map flick requires a QPropertyAnimation for a QGeoCoordinate. The required animation interpolator is exported by the QtPositioning QML plugin. In general a QML Location app should always import QtPositioning as well. In this case the import was missing and subsequently the interpolator for the QGeoCoordinate was never registered. This patch ensures that the QtLocation QML code that requires the animation registers the interpolator in addition to the regular QtPositioning registration. Change-Id: I61759418f0cdf1cb30ff946cc325a112e90c1a2f Task-number: QTBUG-46147 Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Shift generic docs away from planespotter exampleAlex Blasche2015-05-076-5/+52
| | | | | | | | | They are more general and are linked to from other pages too. Change-Id: I828008e3692a593bf9343346508b9c0ad8183108 Task-number: QTBUG-45415 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* QtPositioning supports WinRTAlex Blasche2015-04-161-2/+3
| | | | | | | Make this obvious on module's index page. Change-Id: I5542d948bac6f92e4e0271435eabc226e5570efa Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* Fix missing doc link in positioning qml docsAlex Blasche2015-04-151-1/+1
| | | | | | Change-Id: Ibc0f5366f9e297ef1f2fd878a107ceb5d3633d0b Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Use QDebugStateSaver to restore space setting in stream operators.Friedemann Kleint2015-04-012-2/+4
| | | | | | | | Returning dbg.space() breaks formatting on streams that already have nospace() set. Change-Id: I1ced3c46e18aba788298b6d9f60737b1004c6e9c Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Fix duplicated link targetsAlex Blasche2015-03-033-4/+2
| | | | | | | | | | | | | The c++ to QML interaction document exists twice. Once for QtLocation and a second time for QtPositioning. Although the content is different the page title was same which created broken links. The very same pages also created hard links with \target which were named the same way the QML type was named. This created clashing link targets. Change-Id: Ie186217b11a606562a640b1e242fd73d8922327b Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Revert "Hide inherited == and != operators from qdoc"Alex Blasche2015-02-272-8/+0
| | | | | | | | | | This reverts commit 6bf5485daf17638de45d73f833c40e71412035ba. The workaround is no longer needed. Task-number: QTBUG-44553 Change-Id: I2766a399cb52e179a631e8d7ecb361d253aae7fd Reviewed-by: Martin Smith <martin.smith@digia.com>
* Rename Nokia to HERE pluginAlex Blasche2015-02-261-3/+2
| | | | | | | | | This only addresses the documentation. The source code still has plenty of references. The plugin name remains "nokia" as it is part of the API. Change-Id: I0c10226ac418f3045157247b0ca6e7ff598087f7 Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>