summaryrefslogtreecommitdiffstats
path: root/examples/bluetooth/lowenergyscanner
diff options
context:
space:
mode:
Diffstat (limited to 'examples/bluetooth/lowenergyscanner')
-rw-r--r--examples/bluetooth/lowenergyscanner/assets/main.qml6
-rw-r--r--examples/bluetooth/lowenergyscanner/device.cpp11
-rw-r--r--examples/bluetooth/lowenergyscanner/device.h4
3 files changed, 17 insertions, 4 deletions
diff --git a/examples/bluetooth/lowenergyscanner/assets/main.qml b/examples/bluetooth/lowenergyscanner/assets/main.qml
index cdef49a5..c7c201e8 100644
--- a/examples/bluetooth/lowenergyscanner/assets/main.qml
+++ b/examples/bluetooth/lowenergyscanner/assets/main.qml
@@ -44,9 +44,9 @@ Rectangle {
id: back
width: 300
height: 600
- property string message: device.update
- onMessageChanged: {
- if (device.update != "Scanning for devices..." && device.update != "Search")
+ property bool deviceState: device.state
+ onDeviceStateChanged: {
+ if (!device.state)
info.visible = false;
}
diff --git a/examples/bluetooth/lowenergyscanner/device.cpp b/examples/bluetooth/lowenergyscanner/device.cpp
index df125d60..44cd3512 100644
--- a/examples/bluetooth/lowenergyscanner/device.cpp
+++ b/examples/bluetooth/lowenergyscanner/device.cpp
@@ -51,7 +51,7 @@
#include <QList>
Device::Device():
- connected(false), info(0)
+ connected(false), info(0), m_deviceScanState(false)
{
discoveryAgent = new QBluetoothDeviceDiscoveryAgent();
connect(discoveryAgent, SIGNAL(deviceDiscovered(const QBluetoothDeviceInfo&)),
@@ -89,6 +89,8 @@ void Device::startDeviceDiscovery()
devices.clear();
setUpdate("Scanning for devices ...");
discoveryAgent->start();
+ m_deviceScanState = true;
+ Q_EMIT stateChanged();
}
void Device::addDevice(const QBluetoothDeviceInfo &info)
@@ -103,6 +105,8 @@ void Device::addDevice(const QBluetoothDeviceInfo &info)
void Device::scanFinished()
{
Q_EMIT devicesDone();
+ m_deviceScanState = false;
+ Q_EMIT stateChanged();
if (devices.isEmpty())
setUpdate("No Low Energy devices found...");
else
@@ -233,3 +237,8 @@ void Device::serviceScanError(QBluetoothServiceDiscoveryAgent::Error error)
else
setUpdate("An unknown error has occurred.");
}
+
+bool Device::state()
+{
+ return m_deviceScanState;
+}
diff --git a/examples/bluetooth/lowenergyscanner/device.h b/examples/bluetooth/lowenergyscanner/device.h
index 2e471f50..307b0fb9 100644
--- a/examples/bluetooth/lowenergyscanner/device.h
+++ b/examples/bluetooth/lowenergyscanner/device.h
@@ -66,6 +66,7 @@ class Device: public QObject
Q_PROPERTY(QVariant servicesList READ getServices NOTIFY servicesDone)
Q_PROPERTY(QVariant characteristicList READ getCharacteristics NOTIFY characteristicsDone)
Q_PROPERTY(QString update READ getUpdate NOTIFY updateChanged)
+ Q_PROPERTY(bool state READ state NOTIFY stateChanged)
public:
Device();
~Device();
@@ -73,6 +74,7 @@ public:
QVariant getServices();
QVariant getCharacteristics();
QString getUpdate();
+ bool state();
public slots:
void addDevice(const QBluetoothDeviceInfo&);
@@ -94,6 +96,7 @@ Q_SIGNALS:
void servicesDone();
void characteristicsDone();
void updateChanged();
+ void stateChanged();
private:
void setUpdate(QString message);
@@ -106,6 +109,7 @@ private:
QString m_message;
bool connected;
QLowEnergyController *info;
+ bool m_deviceScanState;
};
#endif // DEVICE_H