From 0b42f1e6f6be36a23584dfe41acaf414023f747a Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Tue, 28 Oct 2014 11:42:34 +0100 Subject: Fix lowenergyscanner when dealing with device scan errors Previously the error was indicated but other UI elements were still giving the impression that the scan was ongoing. Change-Id: Iafab8f43bff3303eb6ad5e3385db2f81288d2e66 Reviewed-by: Timur Pocheptsov Reviewed-by: Alex Blasche --- examples/bluetooth/lowenergyscanner/assets/Menu.qml | 1 + examples/bluetooth/lowenergyscanner/assets/main.qml | 8 ++++++-- examples/bluetooth/lowenergyscanner/device.cpp | 11 +++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) (limited to 'examples/bluetooth/lowenergyscanner') diff --git a/examples/bluetooth/lowenergyscanner/assets/Menu.qml b/examples/bluetooth/lowenergyscanner/assets/Menu.qml index d1eaebb2..3669223a 100644 --- a/examples/bluetooth/lowenergyscanner/assets/Menu.qml +++ b/examples/bluetooth/lowenergyscanner/assets/Menu.qml @@ -68,6 +68,7 @@ Rectangle { text: menuText elide: Text.ElideMiddle color: "#E3E3E3" + wrapMode: Text.WordWrap } MouseArea { diff --git a/examples/bluetooth/lowenergyscanner/assets/main.qml b/examples/bluetooth/lowenergyscanner/assets/main.qml index e135d699..7f03d4fa 100644 --- a/examples/bluetooth/lowenergyscanner/assets/main.qml +++ b/examples/bluetooth/lowenergyscanner/assets/main.qml @@ -137,8 +137,12 @@ Rectangle { menuText: device.update onButtonClick: { device.startDeviceDiscovery(); - info.dialogText = "Searching..."; - info.visible = true;} + // if startDeviceDiscovery() failed device.state is not set + if (device.state) { + info.dialogText = "Searching..."; + info.visible = true; + } + } } Loader { diff --git a/examples/bluetooth/lowenergyscanner/device.cpp b/examples/bluetooth/lowenergyscanner/device.cpp index 215a7588..acab48c2 100644 --- a/examples/bluetooth/lowenergyscanner/device.cpp +++ b/examples/bluetooth/lowenergyscanner/device.cpp @@ -86,8 +86,11 @@ void Device::startDeviceDiscovery() //! [les-devicediscovery-2] discoveryAgent->start(); //! [les-devicediscovery-2] - m_deviceScanState = true; - Q_EMIT stateChanged(); + + if (discoveryAgent->isActive()) { + m_deviceScanState = true; + Q_EMIT stateChanged(); + } } //! [les-devicediscovery-3] @@ -302,6 +305,10 @@ void Device::deviceScanError(QBluetoothDeviceDiscoveryAgent::Error error) setUpdate("Writing or reading from the device resulted in an error."); else setUpdate("An unknown error has occurred."); + + m_deviceScanState = false; + emit devicesUpdated(); + emit stateChanged(); } bool Device::state() -- cgit v1.2.3