summaryrefslogtreecommitdiffstats
path: root/src/sensorsquick/qmllidsensor.cpp
diff options
context:
space:
mode:
authorJuha Vuolle <juha.vuolle@insta.fi>2021-06-13 11:45:35 +0300
committerJuha Vuolle <juha.vuolle@insta.fi>2021-06-21 10:02:07 +0300
commitc255fe62f86598f48bd7e69e449aa95aa016f4fb (patch)
treee16d2acd0921daee507a68316f155a08f52a6eab /src/sensorsquick/qmllidsensor.cpp
parent7cad8ab7ece1647afc67870d4cb65c9726192753 (diff)
Add binding support for sensor readings
Many of the sensors' QML "reading" value properties change with high frequency. This makes them candidates to benefit from the more performant bindable support. This commit adds the bindable support for QML sensor 'reading' classes: pressure, gyroscope, tap, compass, proximity, orientation, distance, magnetometer, lid reading, tilt, rotation, humidity, holster, ambient temperature, light sensor, altimeter, IR proximity, accelerometer, ambient light, and sensor reading baseclass (timestamp common to all) In addition to the 'reading' classes, the commit adds bindable support for QmlSensor::reading, as it's change signal is emitted with high frequency, on every sensor reading change. Pick-to: 6.2 Task-number: QTBUG-92513 Task-number: QTBUG-92503 Task-number: QTBUG-92505 Change-Id: I413ddd8a758142b9b93596e55b3bc8c3c2c98252 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Diffstat (limited to 'src/sensorsquick/qmllidsensor.cpp')
-rw-r--r--src/sensorsquick/qmllidsensor.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/sensorsquick/qmllidsensor.cpp b/src/sensorsquick/qmllidsensor.cpp
index 698c03cc..68d92181 100644
--- a/src/sensorsquick/qmllidsensor.cpp
+++ b/src/sensorsquick/qmllidsensor.cpp
@@ -117,6 +117,11 @@ bool QmlLidReading::backLidClosed() const
return m_backClosed;
}
+QBindable<bool> QmlLidReading::bindableBackLidClosed() const
+{
+ return &m_backClosed;
+}
+
/*!
\qmlproperty qreal LidReading::frontLidClosed
This property holds whether the front lid is closed.
@@ -129,6 +134,11 @@ bool QmlLidReading::frontLidClosed() const
return m_frontClosed;
}
+QBindable<bool> QmlLidReading::bindableFrontLidClosed() const
+{
+ return &m_frontClosed;
+}
+
QSensorReading *QmlLidReading::reading() const
{
return m_sensor->reading();
@@ -136,14 +146,6 @@ QSensorReading *QmlLidReading::reading() const
void QmlLidReading::readingUpdate()
{
- const bool backClosed = m_sensor->reading()->backLidClosed();
- if (m_backClosed != backClosed) {
- m_backClosed = backClosed;
- Q_EMIT backLidChanged(m_backClosed);
- }
- const bool frontClosed = m_sensor->reading()->frontLidClosed();
- if (m_frontClosed != frontClosed) {
- m_frontClosed = frontClosed;
- Q_EMIT frontLidChanged(m_frontClosed);
- }
+ m_backClosed = m_sensor->reading()->backLidClosed();
+ m_frontClosed = m_sensor->reading()->frontLidClosed();
}