diff --git a/examples/bluetooth/lowenergyscanner/assets/main.qml b/examples/bluetooth/lowenergyscanner/assets/main.qml index cdef49a5d554bcaf32040d8e1083bc9bfa8507ad..c7c201e82525607354d22eefe75fc56d0737d915 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 df125d603f4f8a9c77fb6bd795c8310b1afffe4d..44cd35126ff34a904d13dcbaf14408220965bf5f 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 2e471f500b4d841ff2a23bdec8073b7c4a322541..307b0fb9b50083269322681adbd004f883ed6d6e 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