X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fqml%2FStatusArea.qml;h=bd817674bf581a890d18dcfc32515adf02a6f2b6;hb=e7ab450f4827c66dbcb67f49317c045512e22789;hp=24d2b18d010d1e8b100ea48cb86f9cda635b9afe;hpb=4d66f9362b74500b1ceb1850c156cd7aeaf60fc6;p=apps%2Fhomescreen.git diff --git a/homescreen/qml/StatusArea.qml b/homescreen/qml/StatusArea.qml index 24d2b18..bd81767 100644 --- a/homescreen/qml/StatusArea.qml +++ b/homescreen/qml/StatusArea.qml @@ -1,7 +1,6 @@ /* * Copyright (C) 2016 The Qt Company Ltd. * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * Copyright (c) 2017, 2018 TOYOTA MOTOR CORPORATION * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,8 +21,8 @@ import HomeScreen 1.0 Item { id: root - width: 295 - height: 218 + width: 700 + height: 80 property date now: new Date Timer { @@ -31,19 +30,27 @@ Item { onTriggered: root.now = new Date } + Timer { + id:notificationTimer + interval: 3000 + running: false + repeat: true + onTriggered: notificationItem.visible = false + } + Connections { target: weather onConditionChanged: { var icon = '' - if (condition.indexOf("clouds") != -1) { + if (condition.indexOf("clouds") !== -1) { icon = "WeatherIcons_Cloudy-01.png" - } else if (condition.indexOf("thunderstorm") != -1) { + } else if (condition.indexOf("thunderstorm") !== -1) { icon = "WeatherIcons_Thunderstorm-01.png" - } else if (condition.indexOf("snow") != -1) { + } else if (condition.indexOf("snow") !== -1) { icon = "WeatherIcons_Snow-01.png" - } else if (condition.indexOf("rain") != -1) { + } else if (condition.indexOf("rain") !== -1) { icon = "WeatherIcons_Rain-01.png" } @@ -55,116 +62,153 @@ Item { } } - RowLayout { - anchors.fill: parent - spacing: 0 - Item { - Layout.fillWidth: true - Layout.fillHeight: true - Layout.preferredWidth: 295 - 76 - ColumnLayout { - anchors.fill: parent - anchors.margins: 40 - spacing: 0 - Text { - Layout.fillWidth: true - Layout.fillHeight: true - text: Qt.formatDate(now, 'dddd').toUpperCase() - font.family: 'Roboto' - font.pixelSize: 13 - color: 'white' - verticalAlignment: Text.AlignVCenter -// Rectangle { -// anchors.fill: parent -// anchors.margins: 5 -// color: 'red' -// border.color: 'blue' -// border.width: 1 -// z: -1 -// } + RowLayout { + anchors.fill: parent + spacing: 0 + RowLayout { + id: icons + Layout.fillWidth: true + Layout.fillHeight: true + Layout.preferredWidth: 120 + spacing: -10 + + Image { + id: bt_icon + Layout.preferredWidth: 50 + Layout.preferredHeight: 50 + source: connStatus ? './images/Status/HMI_Status_Bluetooth_On-01.png' : './images/Status/HMI_Status_Bluetooth_Inactive-01.png' + fillMode: Image.PreserveAspectFit + property string deviceName: "none" + property bool connStatus: false + Connections { + target: bluetooth + onConnectionEvent: { + console.log("onConnectionEvent", data.Status) + if (data.Status === "connected") { + bt_icon.connStatus = true + } else if (data.Status === "disconnected") { + bt_icon.connStatus = false + } + } + onDeviceUpdateEvent: { + console.log("onConnectionEvent", data.Paired) + if (data.Paired === "True" && data.Connected === "True") { + bt_icon.deviceName = data.name + bt_icon.connStatus = true + } else { + if(bt_icon.deviceName === data.Name) + { + bt_icon.connStatus = false + } + } + } + } } - Text { - Layout.fillWidth: true - Layout.fillHeight: true - text: Qt.formatTime(now, 'h:mm ap').toUpperCase() - font.family: 'Roboto' - font.pixelSize: 40 - color: 'white' - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter + + Repeater { + model: StatusBarModel { objectName: "statusBar" } + delegate: Image { + Layout.preferredWidth: 50 + Layout.preferredHeight: 50 + source: model.modelData + fillMode: Image.PreserveAspectFit + } } - RowLayout { - Layout.fillWidth: true - Layout.fillHeight: true - Layout.preferredHeight: 20 - Image { - id: condition_item - source: './images/Weather/WeatherIcons_Rain-01.png' + } + Item { + anchors.left: icons.right + Layout.fillHeight: true + width: 440 + ColumnLayout { + anchors.fill: parent + anchors.margins: 17 + spacing: 0 + Text { + Layout.fillWidth: true + Layout.fillHeight: true + text: Qt.formatDate(now, 'dddd').toUpperCase() + font.family: 'Roboto' + font.pixelSize: 13 + color: 'white' + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter } Text { - id: temperature_item - text: '64°F' + Layout.fillWidth: true + Layout.fillHeight: true + text: Qt.formatTime(now, 'h:mm ap').toUpperCase() + font.family: 'Roboto' + font.pixelSize: 38 color: 'white' - font.family: 'Helvetica' - font.pixelSize: 32 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter } } } - } - ColumnLayout { - id: icons - Layout.fillWidth: true - Layout.fillHeight: true - Layout.preferredWidth: 76 - spacing: -10 - - Image { - id: bt_icon - Layout.preferredWidth: 77 - Layout.preferredHeight: 73 - source: connStatus ? './images/Status/HMI_Status_Bluetooth_On-01.png' : './images/Status/HMI_Status_Bluetooth_Inactive-01.png' - fillMode: Image.PreserveAspectFit - property string deviceName: "none" - property bool connStatus: false - Connections { - target: bluetooth - - //{"event":"Bluetooth-Manager\/connection","data":{"Status":"connected","Address":"88:BD:45:EC:3A:E6"},"jtype":"afb-event"} - //{"event":"Bluetooth-Manager\/connection","data":{"Status":"disconnected","Address":"88:BD:45:EC:3A:E6"},"jtype":"afb-event"} - onConnectionEvent: { - // console.log("bluetooth connection is:", data.Status) - // console.log("onConnectionEvent bt_icon.deviceName:",bt_icon.deviceName, "bt_icon.connStatus:", bt_icon.connStatus) - if (data.Status == "connected"){ - bt_icon.connStatus = true - } else if (data.Status == "disconnected"){ - bt_icon.connStatus = false - } - } - //{"event":"Bluetooth-Manager\/device_updated","data":{"Address":"88:BD:45:EC:3A:E6","Name":"SG02","Paired":"True","Connected":"True","AVPConnected":"True","Metadata":{"Title":"","Artist":"","Status":"stop} - onDeviceUpdatedEvent: { - // console.log("bluetooth onDeviceUpdatedEvent date is:", data.Name, "Paired: ", data.Paired, "Connected: ", data.Connected) - // console.log("onDeviceUpdatedEvent bt_icon.deviceName:",bt_icon.deviceName, "bt_icon.connStatus:", bt_icon.connStatus) - if ( data.Paired == "True" && data.Connected == "True" ){ - bt_icon.deviceName = data.Name - bt_icon.connStatus = true - } else { - if(bt_icon.deviceName == data.Name) - { - bt_icon.connStatus = false - } - } - } + RowLayout { + Layout.fillWidth: true + Layout.fillHeight: true + Layout.preferredHeight: 20 + + Image { + id: condition_item + source: './images/Weather/WeatherIcons_Rain-01.png' + } + Text { + id: temperature_item + text: '64°F' + color: 'white' + font.family: 'Helvetica' + font.pixelSize: 32 } } - Repeater { - model: StatusBarModel {} - delegate: Image { - Layout.preferredWidth: 77 - Layout.preferredHeight: 73 - source: model.modelData - fillMode: Image.PreserveAspectFit + } + + Item { + id: notificationItem + x: 0 + y: 0 + z: 1 + width: parent.width + 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 + onNotification: { + notificationIcon.source = './images/Shortcut/%1.svg'.arg(id) + notificationtext.text = text + notificationItem.visible = true + notificationTimer.restart() + } + } + }