summaryrefslogtreecommitdiffstats
path: root/tradeshow/iot-sensortag/resources/base/BaseChart.qml
diff options
context:
space:
mode:
authorKari Hautamäki <kari.hautamaki@qt.io>2017-02-16 08:33:49 +0200
committerMaurice Kalinowski <maurice.kalinowski@qt.io>2017-02-28 13:16:09 +0000
commit35c1c07cd676b9c9afb23ad7266a67d5b6aef03a (patch)
treed43445955be5f1799ca9bb9db2c6e2cfd7915370 /tradeshow/iot-sensortag/resources/base/BaseChart.qml
parentdec3883a1d0d7d24c797cf517fa7fad85b24a1f2 (diff)
iot-sensortag: Allow reconnect after a failed connection attempt
A disconnected sensor tag can be tried to be reconnected by clicking on the chart area or starting rescan from the Sensor settings menu. During a (re)connection process a progress indicator is shown to the user. The user has a possibility to disconnect (and reconnect) a currently connect SensorDataProvider A new state, 'NotFound' is added in SensorTagDataProvider to distinguish between states when a Sensor Tag has not been discovered at all, and when it has already been discovered but is has been disconnected. Change-Id: I54eea72d8c92a67a5ccbb3bc192ac8f33ada1c39 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'tradeshow/iot-sensortag/resources/base/BaseChart.qml')
-rw-r--r--tradeshow/iot-sensortag/resources/base/BaseChart.qml44
1 files changed, 44 insertions, 0 deletions
diff --git a/tradeshow/iot-sensortag/resources/base/BaseChart.qml b/tradeshow/iot-sensortag/resources/base/BaseChart.qml
index 58549b5..d144916 100644
--- a/tradeshow/iot-sensortag/resources/base/BaseChart.qml
+++ b/tradeshow/iot-sensortag/resources/base/BaseChart.qml
@@ -61,9 +61,17 @@ Item {
property bool rightSide: false
property alias titlePaneHeight: titleIcon.height
property bool hasData: baseChart.sensor ? baseChart.sensor.state === SensorTagData.Connected : false
+ property int sensorState: sensor ? sensor.state : SensorTagData.NotFound
signal clicked
+ onSensorStateChanged: {
+ if (sensorState === SensorTagData.Scanning)
+ sensorIcon.startBlinking();
+ else
+ sensorIcon.stopBlinking();
+ }
+
Image {
id: titleIcon
@@ -89,6 +97,42 @@ Item {
anchors.bottomMargin: 16
anchors.left: parent.left
anchors.right: parent.right
+ visible: sensorState === SensorTagData.Connected
+ }
+
+ Item {
+ anchors.top: titleIcon.bottom
+ anchors.bottom: separator.bottom
+ anchors.bottomMargin: 16
+ anchors.left: parent.left
+ anchors.right: parent.right
+ visible: sensorState === SensorTagData.Scanning ||
+ sensorState === SensorTagData.Disconnected ||
+ sensorState === SensorTagData.Error ||
+ sensorState === SensorTagData.NotFound
+
+ Column {
+ anchors.centerIn: parent
+ spacing: 20
+
+ BlinkingIcon {
+ id: sensorIcon
+
+ source: pathPrefix + "Toolbar/icon_topbar_sensor.png"
+ anchors.horizontalCenter: parent.horizontalCenter
+ visible: sensorState === SensorTagData.Scanning
+ }
+
+ Text {
+ id: stateText
+
+ color: "white"
+ text: sensorState === SensorTagData.Scanning ? "Connecting to sensor..."
+ : sensorState === SensorTagData.Disconnected ? "Disconnected"
+ : sensorState === SensorTagData.NotFound ? "Device not found"
+ : ""
+ }
+ }
}
Image {