Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
None
-
21
-
Qt6_Foundation_Sprint 26, Qt6_Foundation_Sprint 27, Qt6_Foundation_Sprint 28
Description
This task is about doing some refactoring in QtPositioning.
Things to be considered for now:
- [Done] Remove QGeoPositionInfoSourceFactory in favor of QGeoPositionInfoSourceFactoryV2;
- [Done] Rename "org/qtproject/qt5" to "org/qtproject/qt" for android support (see
https://bugreports.qt.io/browse/QTBUG-86969); - [Done] Rename QGeoPolygon::setPath into setPerimeter;
- [Done] Change QGeoLocation::boundingBox into QGeoShape-based geometry;
- [Done] Remove deprecated QGeoShape::extendShape() method.
- [Done] Add timeout argument to QDeclarativePositionSource::update;
- [Done] error() signal and error() method clash. Rename the signal to errorOccurred();
- [Done] QGeoPositionInfoSource::updateTimeout(), QGeoSatelliteInfoSource::requestTimeout() should be replaced by a new Timeout enum value for the error() signal/state;
- [Done] Investigate the runtime behavior of the error state resetting. Currently qtPositioning source classes never reset. This may not be standard beahvior by Qt where startUpdates/requestUpdate() equivalent functions may cause resets.
- [Done] Consider using QObjectPrivate as private d pointer base type in [QGeoAreaMonitor|QGeoPositionInfo|QGeoSatelliteInfo]Source.
Consider updating QGeoAreaMonitorSource::requestUpdate to use std::function instead of const char * for the signal- [Done] Validate geoclue/geoclue2/gypsy as appropriate backends for Linux (e.g. is geoclue still relevant or already replaced by geoclue2, any other framework of more relevance?)
- [Done] Find out, how to update the version of QML QtPositioning plugin correctly. Currently it will work only when doing "import QtPositioning" without specific version.
- [Done] Remove PositionSource.nmeaSource and move this to the serialnmea plugin.
- [Done] Rename serialnmea plugin into nmea plugin, and add generic IODevice support (bluetooth/network/file).
- [Done] Properly sanitize all public classes (remove virtuals, fix d-pointer subclassing, etc.).
- [Done] Consider adding a QSharedDataPointer to QGeoSatelliteInfo and QGeoPositionInfo.
- [Done] Add street number to QGeoAddress.
- [Done] Make sure that we do not export unneeded private symbols (grep for the include files and/or class names in qt5 repo).
- [Done] As a final step - write a porting guide with all API changes.
Update/Extend QGeoSatelliteInfo::SatelliteSystem with new known systems (e.g. Galileo, BeiDou...)(will be implemented as part of https://bugreports.qt.io/browse/QTBUG-91074)
Attachments
Issue Links
- is duplicated by
-
QTBUG-72240 Qt Positioning changes in Qt6
-
- Withdrawn
-
- is required for
-
QTBUG-88613 Migrate Qt Positioning to Qt 6
-
- Closed
-
For Gerrit Dashboard: QTBUG-90491 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
315670,7 | QtPositioning: rename Android's package name for Qt 6 | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
330872,2 | QtPositioning: refactor QGeoPositionInfoSourceFactory | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
330990,4 | QtPositioning: get rid of warnings | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
331043,4 | QtPositioning: rename signal error() to errorOccurred() | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
331183,3 | QtPositioning: remove QGeoPositionInfoSource::updateTimeout signal | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
331202,2 | QtPositioning: remove simulator plugin | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
331225,3 | QtPositioning: remove QGeoSatelliteInfoSource::requestTimeout signal | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
331509,7 | QtPositioning: update the version of the QML plugin | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
331708,2 | QDeclarativePositionSource::update() - add timeout parameter | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
331763,3 | QtPositioning: reset errors properly | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
331785,12 | QtPositioning: refactor unit tests | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332145,3 | QtPositioning: add QObjectPrivate base for private classes | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332162,3 | QtPositioning: fix unit tests | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332167,3 | QtPositioning: optimize QGeoPositionInfoSourcePrivate | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332318,4 | QtPositioning: rename QGeoPolygon::setPath | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332347,8 | QtPositioning: update QGeoLocation to use QGeoShape | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332511,2 | QtPositioning: remove deprecated QGeoShape::extendShape() method | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332628,4 | QGeoPositionInfo: create benchmark | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332629,7 | QtPositioning: refactor QGeoPositionInfo | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332802,2 | QGeoSatelliteInfo: create benchmark | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332803,5 | QtPositioning: refactor QGeoSatelliteInfo | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332936,2 | QGeoAreaMonitorInfo: create benchmark | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
332954,3 | QtPositioning: refactor QGeoAreaMonitorInfo | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
333014,4 | QGeoAddress: add street number | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
333386,5 | QtPositioning: move QNmeaSatelliteInfoSource to the library | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
333612,5 | QtPositioning: improve NMEA plugin | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
333885,3 | QDeclarativePositionSource: remove nmeaSource | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
334106,3 | QtPositioning: get rid of unneeded private exports | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
334331,5 | QtPositioning: add docs for Qt 5 -> Qt 6 API changes | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
334379,11 | QNmeaSatelliteInfoSource: add support for TCP socket and file | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
336151,3 | QtPositioning: add virtual destructor to QGeoShape | dev | qt/qtlocation | Status: MERGED | +2 | 0 |