diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2019-05-02 18:53:35 +0200 |
---|---|---|
committer | paolo <paolo.angelelli@qt.io> | 2019-07-24 16:25:44 +0200 |
commit | f8694e1f3430b7851fc90e26c6d778a86219379a (patch) | |
tree | fbe92684c4458431bf29d8b68d8cddea7b8e496a /src/positioningquick | |
parent | 17e3f08377c34d301401fbd3c40b525790fcd9a5 (diff) | |
download | qtlocation-f8694e1f3430b7851fc90e26c6d778a86219379a.tar.gz |
Allow setting backend properties of positioning plugins
This change adds a pair of setter/getter to specify positioning backend
properties at runtime, both in QGeoPositionInfoSource and
QDeclarativePositionSource.
Task-number: QTBUG-66304
Change-Id: Iea9421fb708879bee5c62c4afaf45cbda57f50bb
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/positioningquick')
-rw-r--r-- | src/positioningquick/qdeclarativepositionsource.cpp | 38 | ||||
-rw-r--r-- | src/positioningquick/qdeclarativepositionsource_p.h | 3 |
2 files changed, 41 insertions, 0 deletions
diff --git a/src/positioningquick/qdeclarativepositionsource.cpp b/src/positioningquick/qdeclarativepositionsource.cpp index 3bf39081..cfbcc9da 100644 --- a/src/positioningquick/qdeclarativepositionsource.cpp +++ b/src/positioningquick/qdeclarativepositionsource.cpp @@ -862,6 +862,44 @@ void QDeclarativePositionSource::componentComplete() } /*! + \qmlmethod bool QtLocation::PositionSource::setBackendProperty(string name, Variant value) + + Sets the backend-specific property named \a name to \a value. + Returns true on success, false otherwise, including if called on an uninitialized PositionSource. + Supported backend-specific properties are listed and described in + \l {Qt Positioning plugins#Default plugins}. + + \since Qt Positioning 5.14 + + \sa backendProperty, QGeoPositionInfoSource::setBackendProperty +*/ +bool QDeclarativePositionSource::setBackendProperty(const QString &name, QVariant value) +{ + if (m_positionSource) + return m_positionSource->setBackendProperty(name, value); + return false; +} + +/*! + \qmlmethod Variant QtLocation::PositionSource::backendProperty(string name) + + Returns the value of the backend-specific property named \a name, if present. + Otherwise, including if called on an uninitialized PositionSource, the return value will be invalid. + Supported backend-specific properties are listed and described in + \l {Qt Positioning plugins#Default plugins}. + + \since Qt Positioning 5.14 + + \sa backendProperty, QGeoPositionInfoSource::setBackendProperty +*/ +QVariant QDeclarativePositionSource::backendProperty(const QString &name) const +{ + if (m_positionSource) + return m_positionSource->backendProperty(name); + return QVariant(); +} + +/*! \internal */ void QDeclarativePositionSource::sourceErrorReceived(const QGeoPositionInfoSource::Error error) diff --git a/src/positioningquick/qdeclarativepositionsource_p.h b/src/positioningquick/qdeclarativepositionsource_p.h index 7e389b85..dff0006c 100644 --- a/src/positioningquick/qdeclarativepositionsource_p.h +++ b/src/positioningquick/qdeclarativepositionsource_p.h @@ -131,6 +131,9 @@ public: void classBegin() { } void componentComplete(); + Q_INVOKABLE bool setBackendProperty(const QString &name, QVariant value); + Q_INVOKABLE QVariant backendProperty(const QString &name) const; + public Q_SLOTS: void update(); // TODO Qt 6 change to void update(int) void start(); |