diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2021-03-26 17:16:40 +0100 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2021-04-27 12:39:59 +0200 |
commit | 4306cfe37696bcda7f371a472d70d81357986c6e (patch) | |
tree | 70aab197ed60a64a2b01dc74663ad900cc1a0bc4 | |
parent | 0b33da16756454fb724064d0742c9aa4a782e591 (diff) | |
download | qtlocation-4306cfe37696bcda7f371a472d70d81357986c6e.tar.gz |
QGeoSatelliteInfoSource: add property bindings
Task-number: QTBUG-89874
Change-Id: I390119d8f25d5523b879ac0c7eecd32cb04481d8
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
8 files changed, 31 insertions, 14 deletions
diff --git a/src/positioning/qgeosatelliteinfosource.cpp b/src/positioning/qgeosatelliteinfosource.cpp index 9e80a1d2..2099dd9f 100644 --- a/src/positioning/qgeosatelliteinfosource.cpp +++ b/src/positioning/qgeosatelliteinfosource.cpp @@ -97,8 +97,6 @@ QGeoSatelliteInfoSourcePrivate::~QGeoSatelliteInfoSourcePrivate() QGeoSatelliteInfoSource::QGeoSatelliteInfoSource(QObject *parent) : QObject(*new QGeoSatelliteInfoSourcePrivate, parent) { - Q_D(QGeoSatelliteInfoSource); - d->interval = 0; } QGeoSatelliteInfoSource::QGeoSatelliteInfoSource(QGeoSatelliteInfoSourcePrivate &dd, QObject *parent) @@ -158,7 +156,13 @@ void QGeoSatelliteInfoSource::setUpdateInterval(int msec) int QGeoSatelliteInfoSource::updateInterval() const { Q_D(const QGeoSatelliteInfoSource); - return d->interval; + return d->interval.value(); +} + +QBindable<int> QGeoSatelliteInfoSource::bindableUpdateInterval() +{ + Q_D(QGeoSatelliteInfoSource); + return QBindable<int>(&d->interval); } /*! diff --git a/src/positioning/qgeosatelliteinfosource.h b/src/positioning/qgeosatelliteinfosource.h index 4e5d62ad..9d6603bb 100644 --- a/src/positioning/qgeosatelliteinfosource.h +++ b/src/positioning/qgeosatelliteinfosource.h @@ -50,7 +50,8 @@ class QGeoSatelliteInfoSourcePrivate; class Q_POSITIONING_EXPORT QGeoSatelliteInfoSource : public QObject { Q_OBJECT - Q_PROPERTY(int updateInterval READ updateInterval WRITE setUpdateInterval) + Q_PROPERTY(int updateInterval READ updateInterval WRITE setUpdateInterval BINDABLE + bindableUpdateInterval) Q_PROPERTY(int minimumUpdateInterval READ minimumUpdateInterval) public: @@ -76,6 +77,8 @@ public: virtual void setUpdateInterval(int msec); int updateInterval() const; + QBindable<int> bindableUpdateInterval(); + virtual int minimumUpdateInterval() const = 0; virtual Error error() const = 0; diff --git a/src/positioning/qgeosatelliteinfosource_p.h b/src/positioning/qgeosatelliteinfosource_p.h index cfad6edc..48eb6be1 100644 --- a/src/positioning/qgeosatelliteinfosource_p.h +++ b/src/positioning/qgeosatelliteinfosource_p.h @@ -64,7 +64,7 @@ public: static QGeoSatelliteInfoSource *createSourceReal(const QJsonObject &meta, const QVariantMap ¶meters, QObject *parent); - int interval; + Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(QGeoSatelliteInfoSourcePrivate, int, interval, 0) QString providerName; }; diff --git a/tests/auto/qgeosatelliteinfosource/CMakeLists.txt b/tests/auto/qgeosatelliteinfosource/CMakeLists.txt index 95cbbd1b..3e2c64fb 100644 --- a/tests/auto/qgeosatelliteinfosource/CMakeLists.txt +++ b/tests/auto/qgeosatelliteinfosource/CMakeLists.txt @@ -9,10 +9,10 @@ qt_internal_add_test(tst_qgeosatelliteinfosource ../utils/qlocationtestutils.cpp ../utils/qlocationtestutils_p.h testqgeosatelliteinfosource.cpp testqgeosatelliteinfosource_p.h tst_qgeosatelliteinfosource.cpp - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::Positioning - Qt::Test + Qt::TestPrivate ) #### Keys ignored in scope 1:.:.:qgeosatelliteinfosource.pro:<TRUE>: diff --git a/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource.cpp b/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource.cpp index 91741dae..2fc35d6a 100644 --- a/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource.cpp +++ b/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource.cpp @@ -1,4 +1,4 @@ -/*********************f******************************************************* +/***************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ @@ -26,9 +26,6 @@ ** ****************************************************************************/ -//TESTED_COMPONENT=src/location - -#include <QTest> #include <QMetaType> #include <QSignalSpy> #include <QDebug> @@ -758,4 +755,12 @@ void TestQGeoSatelliteInfoSource::removeSlotForSatellitesInViewUpdated() QTRY_VERIFY_WITH_TIMEOUT((m_testSlot2Called == true), 7000); } +void TestQGeoSatelliteInfoSource::bindings() +{ + CHECK_SOURCE_VALID; + + QTestPrivate::testReadWritePropertyBasics<QGeoSatelliteInfoSource, int>(*m_source, 1000, 2000, + "updateInterval"); +} + #include "testqgeosatelliteinfosource.moc" diff --git a/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource_p.h b/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource_p.h index cf15f7c0..48b45536 100644 --- a/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource_p.h +++ b/tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource_p.h @@ -29,8 +29,9 @@ #ifndef TESTQGEOSATELLITEINFOSOURCE_H #define TESTQGEOSATELLITEINFOSOURCE_H -#include <QTest> #include <QObject> +#include <QtTest/QtTest> +#include <QtTest/private/qpropertytesthelper_p.h> QT_BEGIN_NAMESPACE class QGeoSatelliteInfoSource; @@ -105,6 +106,8 @@ private slots: void removeSlotForSatellitesInUseUpdated(); void removeSlotForSatellitesInViewUpdated(); + void bindings(); + private: QGeoSatelliteInfoSource *m_source; bool m_testingDefaultSource; diff --git a/tests/auto/qnmeasatelliteinfosource/generic_realtime/CMakeLists.txt b/tests/auto/qnmeasatelliteinfosource/generic_realtime/CMakeLists.txt index 87ddc2f0..f465bc17 100644 --- a/tests/auto/qnmeasatelliteinfosource/generic_realtime/CMakeLists.txt +++ b/tests/auto/qnmeasatelliteinfosource/generic_realtime/CMakeLists.txt @@ -9,9 +9,10 @@ qt_internal_add_test(tst_nmeasatelliteinfosource_generic_rt QT_DISABLE_DEPRECATED_BEFORE=0 INCLUDE_DIRECTORIES .. - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::Network Qt::Positioning + Qt::TestPrivate ) # special case end diff --git a/tests/auto/qnmeasatelliteinfosource/generic_simulation/CMakeLists.txt b/tests/auto/qnmeasatelliteinfosource/generic_simulation/CMakeLists.txt index 64c15ecb..d86d5066 100644 --- a/tests/auto/qnmeasatelliteinfosource/generic_simulation/CMakeLists.txt +++ b/tests/auto/qnmeasatelliteinfosource/generic_simulation/CMakeLists.txt @@ -9,9 +9,10 @@ qt_internal_add_test(tst_nmeasatelliteinfosource_generic_sim QT_DISABLE_DEPRECATED_BEFORE=0 INCLUDE_DIRECTORIES .. - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::Network Qt::Positioning + Qt::TestPrivate ) # special case end |