Modification for dynamic speed sign (not activated)
[staging/HomeScreen.git] / HomeScreen / qml / Home.qml
index 7d6fb74..6657d40 100644 (file)
 import QtQuick 2.2
 import QtQuick.Layouts 1.1
 import QtQuick.Controls 1.0
+import QtQuick.Controls 1.4
+import QtQuick.Controls.Styles 1.4
 import Home 1.0
 
 Item {
     id: root
     property int pid: -1
     signal languageChanged
+    signal disconnect
 
     Image {
         anchors.fill: parent
@@ -38,8 +41,20 @@ Item {
         anchors.horizontalCenter: parent.horizontalCenter
         anchors.top: parent.top
         anchors.topMargin: 20
-        source: './images/B14-90.png'
+        source: './images/sign.png'
         visible: false
+        Label {
+            id: speedLimit
+            anchors.horizontalCenter: parent.horizontalCenter
+            anchors.verticalCenter: parent.verticalCenter
+            horizontalAlignment:  Text.AlignHCenter
+            color: "black"
+            text: "50"
+            font.pixelSize: 90
+            font.family: "Roboto"
+            font.bold: true
+            visible: false
+        }
     }
     Image {
         id: flagLanguage
@@ -82,14 +97,15 @@ Item {
         Text {
             id: helloText
             anchors.centerIn: parent
-            color: "white"
-            text: "No Authenticated User"
+            color: 'white'
+            text: 'No Authenticated User'
             font.pixelSize: 40
-            font.family: "Roboto"
+            font.family: 'Roboto'
             SequentialAnimation on font.letterSpacing {
                 id: animation1
                 loops: 1;
                 NumberAnimation { from: 0; to: 50; easing.type: Easing.InQuad; duration: 3000 }
+                running: false
                 onRunningChanged: {
                     if(running) {
                         hello.visible = true
@@ -103,6 +119,7 @@ Item {
             SequentialAnimation on opacity {
                 id: animation2
                 loops: 1;
+                running: false
                 NumberAnimation { from: 1; to: 0; duration: 2600 }
                 PauseAnimation { duration: 400 }
             }
@@ -114,8 +131,17 @@ Item {
         animation2.running = true;
     }
 
-    function showSign90(show) {
+    function showSign90(show, speed, unit) {
         sign90.visible = show
+        if(show) {
+            if(speed.length > 2)
+                speedLimit.font.pixelSize = 60
+            else
+                speedLimit.font.pixelSize = 90
+            speedLimit.text = speed
+        }
+        sign90.source = './images/B14-90.png'
+        speedLimit.visible = false
     }
 
     function showVisa(show, num) {
@@ -125,6 +151,19 @@ Item {
     function changeFlag(flagImage) {
         flagLanguage.source = flagImage
     }
+    function setUser(type, auts) {
+        if(type === '') {
+            authorisations.visible = false
+        } else {
+            authorisations.visible = true
+            labelUserType.text = type
+            myModel.clear()
+            for (var i=0; i<auts.length; i++) {
+                if(auts[i] !== '')
+                    myModel.append({"name": auts[i]})
+            }
+        }
+    }
 
     GridView {
         anchors.centerIn: parent
@@ -175,4 +214,81 @@ Item {
             }
         }
     }
+    ListModel {
+        id: myModel
+        ListElement {
+            name: 'Install App'
+        }
+        ListElement {
+            name: 'Open Trunk'
+        }
+        ListElement {
+            name: 'Update Software'
+        }
+        ListElement {
+            name: 'View Online'
+        }
+    }
+    Item {
+        id: authorisations
+        anchors.fill: parent
+        visible: false
+        GridLayout {
+            id: gridAut
+            columns: 2
+            anchors.bottom: parent.bottom
+            anchors.left: parent.left
+            anchors.bottomMargin: 50
+            anchors.leftMargin: 20
+            Repeater {
+                model: myModel
+                Image {
+                    source: './images/' + model.name + '.png'
+                    width: sourceSize.width
+                    height: sourceSize.height
+                    visible: true
+                }
+            }
+        }
+        Label {
+            id: labelUserType
+            anchors.bottom: gridAut.top
+            anchors.bottomMargin: 10
+            anchors.left: gridAut.left
+            color: "white"
+            text: "Owner"
+            font.pixelSize: 30
+            font.family: "Roboto"
+        }
+    }
+
+    Image {
+        id: logout
+        width: sourceSize.width
+        height: sourceSize.height
+        anchors.bottom: parent.bottom
+        anchors.right: parent.right
+        anchors.bottomMargin: 10
+        anchors.rightMargin: 20
+        source: './images/Logout-01.png'
+        visible: true
+        MouseArea {
+            anchors.fill: parent
+            onClicked: {
+                rotateLogout.start()
+                disconnect()
+                helloText.text= 'No Authenticated User'
+
+            }
+        }
+        RotationAnimator {
+            id: rotateLogout
+            target: logout;
+            from: 0;
+            to: 360;
+            loops: 1
+            duration: 500
+            running: false
+        }
+    }
 }