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

QtPositioning: introduce new API changes

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 6.2.0 FF
    • Component/s: Positioning
    • Labels:
      None
    • Technical Risk:
      Normal
    • Story Points:
      21
    • Sprint:
      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

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

            Activity

              People

              Assignee:
              ivan.solovev Ivan Solovev
              Reporter:
              ivan.solovev Ivan Solovev
              PM Owner:
              Maurice Kalinowski Maurice Kalinowski
              RnD Owner:
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes