Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-90491

QtPositioning: introduce new API changes



    • Task
    • Resolution: Done
    • P2: Important
    • 6.2.0 FF
    • None
    • Positioning
    • None
    • 21
    • Qt6_Foundation_Sprint 26, Qt6_Foundation_Sprint 27, Qt6_Foundation_Sprint 28


      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
      • [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)


        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.



              ivan.solovev Ivan Solovev
              ivan.solovev Ivan Solovev
              Maurice Kalinowski Maurice Kalinowski
              Alex Blasche Alex Blasche
              0 Vote for this issue
              2 Start watching this issue



                Gerrit Reviews

                  There are no open Gerrit changes