X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fqml%2FStatusArea.qml;h=bd817674bf581a890d18dcfc32515adf02a6f2b6;hb=e7ab450f4827c66dbcb67f49317c045512e22789;hp=ab14a23c019240818a5200f3879880e93af9fafd;hpb=85392e71f90a0322fdc08359ef1d829cdcf67381;p=apps%2Fhomescreen.git diff --git a/homescreen/qml/StatusArea.qml b/homescreen/qml/StatusArea.qml index ab14a23..bd81767 100644 --- a/homescreen/qml/StatusArea.qml +++ b/homescreen/qml/StatusArea.qml @@ -21,8 +21,8 @@ import HomeScreen 1.0 Item { id: root - width: 295 - height: 218 + width: 700 + height: 80 property date now: new Date Timer { @@ -30,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" } @@ -54,77 +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 } } } + 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 + } + } } - ColumnLayout { - id: icons - Layout.fillWidth: true - Layout.fillHeight: true - Layout.preferredWidth: 76 - spacing: -10 - 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() + } + } + }