summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2021-03-26 17:16:40 +0100
committerIvan Solovev <ivan.solovev@qt.io>2021-04-27 12:39:59 +0200
commit4306cfe37696bcda7f371a472d70d81357986c6e (patch)
tree70aab197ed60a64a2b01dc74663ad900cc1a0bc4
parent0b33da16756454fb724064d0742c9aa4a782e591 (diff)
downloadqtlocation-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>
-rw-r--r--src/positioning/qgeosatelliteinfosource.cpp10
-rw-r--r--src/positioning/qgeosatelliteinfosource.h5
-rw-r--r--src/positioning/qgeosatelliteinfosource_p.h2
-rw-r--r--tests/auto/qgeosatelliteinfosource/CMakeLists.txt4
-rw-r--r--tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource.cpp13
-rw-r--r--tests/auto/qgeosatelliteinfosource/testqgeosatelliteinfosource_p.h5
-rw-r--r--tests/auto/qnmeasatelliteinfosource/generic_realtime/CMakeLists.txt3
-rw-r--r--tests/auto/qnmeasatelliteinfosource/generic_simulation/CMakeLists.txt3
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 &parameters,
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