Languages changing depending on identity logged in
[apps/hvac.git] / app / HVAC.qml
index 565b108..b1925dd 100644 (file)
@@ -18,10 +18,24 @@ import QtQuick 2.6
 import QtQuick.Layouts 1.1
 import QtQuick.Controls 2.0
 import AGL.Demo.Controls 1.0
+import Translator 1.0
+import 'api' as API
 
 ApplicationWindow {
     id: root
 
+    Translator {
+        id: translator
+        language: binding.language
+    }
+
+    API.Binding {
+        id: binding
+        url: bindingAddress
+        onFanSpeedChanged: fanSpeedSlider.value = fanSpeed
+        onLanguageChanged: translator.language = language
+    }
+
     ColumnLayout {
         anchors.fill: parent
         anchors.topMargin: width / 10
@@ -35,19 +49,22 @@ ApplicationWindow {
             Item {
                 width: root.width * 0.8
                 Slider {
-                    id: fanSpeed
+                    id: fanSpeedSlider
                     anchors.left: parent.left
                     anchors.right: parent.right
                     anchors.verticalCenter: parent.verticalCenter
+                    from: 0.0
+                    to: 255.0
+                    stepSize: 1.0
                     onValueChanged: {
-                        console.debug('Fan', value)
+                        binding.fanSpeed = value
                     }
                 }
                 Label {
-                    anchors.left: fanSpeed.left
-                    anchors.top: fanSpeed.bottom
+                    anchors.left: fanSpeedSlider.left
+                    anchors.top: fanSpeedSlider.bottom
                     font.pixelSize: 32
-                    text: 'FAN SPEED'
+                    text: translator.translate(qsTr('FAN SPEED'), translator.language)
                 }
             }
         }
@@ -64,7 +81,10 @@ ApplicationWindow {
                     side: 'Left'
                 }
                 HeatDegree {
-                    enabled: leftSeat.headLevel > 0
+                    onCurrentItemChanged: {
+                        console.log("Left Temp changed",degree)
+                        binding.leftTemperature = degree
+                    }
                 }
             }
             ColumnLayout {
@@ -75,8 +95,8 @@ ApplicationWindow {
                     offImage: './images/HMI_HVAC_Inactive.svg'
                     Label {
                         anchors.centerIn: parent
-                        color: parent.checked ? '#66FF99' : '#848286'
-                        text: 'A/C'
+                        color: parent.checked ? '#00ADDC' : '#848286'
+                        text: translator.translate(qsTr('A/C'), translator.language)
                         font.pixelSize: parent.height / 3
                     }
                     onCheckedChanged: {
@@ -88,8 +108,8 @@ ApplicationWindow {
                     offImage: './images/HMI_HVAC_Inactive.svg'
                     Label {
                         anchors.centerIn: parent
-                        color: parent.checked ? '#66FF99' : '#848286'
-                        text: 'AUTO'
+                        color: parent.checked ? '#00ADDC' : '#848286'
+                        text: translator.translate(qsTr('AUTO'), translator.language)
                         font.pixelSize: parent.height / 3
                     }
                     onCheckedChanged: {
@@ -113,7 +133,10 @@ ApplicationWindow {
                     side: 'Right'
                 }
                 HeatDegree {
-                    enabled: rightSeat.headLevel > 0
+                    onCurrentItemChanged: {
+                        console.log("Right Temp changed",degree)
+                        binding.rightTemperature = degree
+                    }
                 }
             }
         }