| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I6316384be07f1d0634860c3ddcbe85455e218fed
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I2f713a9a88023c5e2b3d779ebe73c821c72dd0e3
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: Iac3ac030809f57cfcffbfcc3257551efb6c1ff0f
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-96795
Pick-to: 6.2
Change-Id: Ib56df68b2cbc3781f49d0749fcd598bbcd96c6fb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-96795
Pick-to: 6.2
Change-Id: Ia5e73baff832eda7807d0ee7a70a10aeb5d5e830
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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 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>
|
|
|
|
|
| |
Change-Id: Ieae01bc4669cdd503f97399c622989795a0ad734
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-84319
Change-Id: I48cfafbf0a489947468b4b4e3fcf851e459cdfd3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
Which is QNetworkReply::error(). Use QNetworkReply::networkError()
instead.
Task-number: QTBUG-80369
Change-Id: Id41166a72c0d14bc77d9ec853db2f665617195ee
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
| |
Change-Id: I36dd6881b6f6f028869d63b6311cba7f52a99cc4
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/location/declarativemaps/qgeomapobject.cpp
src/location/declarativemaps/qgeomapobject_p_p.h
src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.h
Change-Id: Iab847e16011b2095d307e2a3610bf9157ae7b92d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Iaa670de181255ea570fcf7bcbe465987ef7fc2fc
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
This change makes it possible to subclass QPlace
with custom private implementations.
Change-Id: I363c0e8b7db41d9a8400ce6dbddf5405c619eeef
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
| |
Adds proper support to other valid shapes and use ::boundingGeoRectangle
where appropriate.
Change-Id: Ibba4cb18f5cca08df62d15b76fa0e1f249dc6fbb
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: I9246b648da809672510460273c2cc21aa478c550
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: I69f37f9304f24709a823fffd14e676c097712329
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog][QtLocation][QGeoRouteRequest/RouteQuery] Add
TrafficFeature to the query features.
Change-Id: I50243865da97e302943f43b0eda430e9d8383880
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Apparently these maps support only 250ppi or more.
Task-number: QTBUG-60545
Change-Id: Iadb59c4f034cbfd94a825048358583f3a978315f
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|