add vui button
[apps/homescreen.git] / homescreen / qml / main.qml
index 96a1950..de833a9 100644 (file)
@@ -26,6 +26,7 @@ Window {
     width: container.width * container.scale
     height: container.height * container.scale
     title: 'HomeScreen'
+    color: "#00000000"
 
     Image {
         id: container
@@ -60,5 +61,272 @@ Window {
                 Layout.preferredHeight: 215
             }
         }
+
+
+        state: "normal"
+
+        states: [
+            State {
+                name: "normal"
+                PropertyChanges {
+                    target: topArea
+                    y: 0
+                }
+                PropertyChanges {
+                    target: applicationArea
+                    y: 218
+                }
+                PropertyChanges {
+                    target: mediaArea
+                    y: 1705
+                }
+            },
+            State {
+                name: "fullscreen"
+                PropertyChanges {
+                    target: topArea
+                    y: -220
+                }
+                PropertyChanges {
+                    target: applicationArea
+                    y: -1490
+                }
+                PropertyChanges {
+                    target: mediaArea
+                    y: 2135
+                }
+            }
+        ]
+        transitions: Transition {
+            NumberAnimation {
+                target: topArea
+                property: "y"
+                easing.type: "OutQuad"
+                duration: 250
+            }
+            NumberAnimation {
+                target: mediaArea
+                property: "y"
+                easing.type: "OutQuad"
+                duration: 250
+            }
+        }
+
+    }
+    Item {
+        id: switchBtn
+        width: 70
+        height: 70
+        anchors.right: parent.right
+        anchors.top: parent.top
+        z: 1
+        property bool enableSwitchBtn: true
+        Image {
+            anchors.right: parent.right
+            anchors.rightMargin: 20
+            anchors.top: parent.top
+            anchors.topMargin: 25
+            width: 35
+            height: 35
+            id: image
+            source: './images/normal.png'
+        }
+
+        MouseArea {
+            anchors.fill: parent
+            onClicked: {
+                if(switchBtn.enableSwitchBtn) {
+                    var appName = homescreenHandler.getCurrentApplication()
+                    if (container.state === 'normal') {
+                        image.source = './images/fullscreen.png'
+                        container.state = 'fullscreen'
+                        touchArea.switchArea(1)
+                        homescreenHandler.tapShortcut(appName, true)
+                        container.visible = false
+                        voiceBtn.visible = false
+                    } else {
+                        image.source = './images/normal.png'
+                        container.state = 'normal'
+                        touchArea.switchArea(0)
+                        homescreenHandler.tapShortcut(appName, false)
+                        container.visible = true
+                        voiceBtn.visible = true
+                    }
+                }
+            }
+        }
+    }
+
+    Item {
+        id: rebootBtn
+        width: 70
+        height: 70
+        anchors.left: parent.left
+        anchors.top: parent.top
+        z: 1
+        MouseArea {
+            anchors.fill: parent
+            onClicked: {
+                homescreenHandler.reboot();
+            }
+        }
+    }
+
+    function changeSwitchState(is_navigation) {
+        if(container.state === 'normal') {
+            if(is_navigation) {
+                switchBtn.enableSwitchBtn = true
+                image.source = './images/normal.png'
+            } else {
+                switchBtn.enableSwitchBtn = false
+                image.source = './images/normal_disable.png'
+            }
+        }
+    }
+
+    Connections {
+        target: homescreenHandler
+        onShowWindow: {
+            container.state = 'normal'
+            image.visible = true
+            touchArea.switchArea(0)
+            container.opacity = 1.0
+            voiceBtn.visible = true
+        }
+    }
+
+    Connections {
+        target: homescreenHandler
+        onHideWindow: {
+            container.state = 'fullscreen'
+            image.visible = false
+            touchArea.switchArea(1)
+            container.opacity = 0.0
+            voiceBtn.visible = false
+        }
+    }
+
+    Timer {
+        id:informationTimer
+        interval: 3000
+        running: false
+        repeat: true
+        onTriggered: {
+            bottomInformation.visible = false
+        }
+    }
+
+    Item {
+        id: bottomInformation
+        width: parent.width
+        height: 215
+        anchors.bottom: parent.bottom
+        visible: false
+        Text {
+            id: bottomText
+            anchors.centerIn: parent
+            font.pixelSize: 25
+            font.letterSpacing: 5
+            horizontalAlignment: Text.AlignHCenter
+            color: "white"
+            text: ""
+            z:1
+        }
+    }
+
+    Connections {
+        target: homescreenHandler
+        onShowInformation: {
+            bottomText.text = info
+            bottomInformation.visible = true
+            informationTimer.restart()
+        }
+    }
+
+       Timer {
+        id:notificationTimer
+        interval: 3000
+        running: false
+        repeat: true
+        onTriggered: notificationItem.visible = false
+    }
+
+    Item {
+        id: notificationItem
+        x: 0
+        y: 0
+        z: 1
+        width: 1280
+        height: 100
+        opacity: 0.8
+        visible: false
+
+        Rectangle {
+            width: parent.width
+            height: parent.height
+            anchors.fill: parent
+            color: "gray"
+            Image {
+                id: notificationIcon
+                width: 70
+                height: 70
+                anchors.left: parent.left
+                anchors.leftMargin: 20
+                anchors.verticalCenter: parent.verticalCenter
+                source: ""
+            }
+
+            Text {
+                id: notificationtext
+                font.pixelSize: 25
+                anchors.left: notificationIcon.right
+                anchors.leftMargin: 5
+                anchors.verticalCenter: parent.verticalCenter
+                color: "white"
+                text: qsTr("")
+            }
+        }
+    }
+
+    Connections {
+        target: homescreenHandler
+        onShowNotification: {
+            notificationIcon.source = icon_path
+            notificationtext.text = text
+            notificationItem.visible = true
+            notificationTimer.restart()
+        }
+    }
+
+    Connections {
+        target: homescreenVoice
+        onStatusChanged: {
+            voiceBtn.visible = status
+        }
+    }
+
+    Item {
+        id: voiceBtn
+        width: 110
+        height: 110
+        anchors.bottom: parent.bottom
+        anchors.right: parent.right
+        anchors.bottomMargin: 50
+        anchors.rightMargin: 0
+        visible: true
+        Image {
+            id: voiceimage
+            anchors.left: parent.left
+            anchors.top: parent.top
+            width: 110
+            height: 110
+            source: './images/voice.png'
+        }
+        MouseArea {
+            anchors.fill: parent
+            onClicked: {
+                homescreenVoice.startListening();
+            }
+        }
     }
 }