diff options
author | Bramastyo Harimukti Santoso <bram.santoso@qt.io> | 2021-01-19 16:23:52 +0100 |
---|---|---|
committer | Bramastyo Harimukti Santoso <bram.santoso@qt.io> | 2021-01-19 16:47:09 +0100 |
commit | df878f3935fe28dd3d7253b9fa59d65db331eed0 (patch) | |
tree | df27168c9196d4ff4458f86a9fefdd6ecee84d47 /apps/com.pelagicore.hud/panels | |
parent | 88c1d70ca626be6420160c6218e07867541ae8e3 (diff) | |
parent | e5dcdea6750b7689feae69083f39f283cc79b9b1 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: I6f570e6c387b10e7c07e925429d275761bdf6cda
Diffstat (limited to 'apps/com.pelagicore.hud/panels')
-rw-r--r-- | apps/com.pelagicore.hud/panels/NaviPanel.qml | 83 | ||||
-rw-r--r-- | apps/com.pelagicore.hud/panels/SpeedPanel.qml | 112 |
2 files changed, 195 insertions, 0 deletions
diff --git a/apps/com.pelagicore.hud/panels/NaviPanel.qml b/apps/com.pelagicore.hud/panels/NaviPanel.qml new file mode 100644 index 00000000..9581c30e --- /dev/null +++ b/apps/com.pelagicore.hud/panels/NaviPanel.qml @@ -0,0 +1,83 @@ +/**************************************************************************** +** +** Copyright (C) 2019 Luxoft Sweden AB +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Neptune 3 Cluster UI. +** +** $QT_BEGIN_LICENSE:GPL-QTAS$ +** Commercial License Usage +** Licensees holding valid commercial Qt Automotive Suite licenses may use +** this file in accordance with the commercial license agreement provided +** with the Software or, alternatively, in accordance with the terms +** contained in a written agreement between you and The Qt Company. For +** licensing terms and conditions see https://www.qt.io/terms-conditions. +** For further information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +** SPDX-License-Identifier: GPL-3.0 +** +****************************************************************************/ + +import QtQuick 2.10 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 +import shared.Style 1.0 +import shared.Sizes 1.0 +import shared.animations 1.0 +import "../helpers" 1.0 + +Item { + id: root + + property string nextTurn + property string nextTurnDistanceMeasuredIn + property real nextTurnDistance + + Image { + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + source: root.nextTurn !== "" + ? Helper.localAsset(root.nextTurn, Style.theme) + : "" + } + + ProgressBar { + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + height: Sizes.dp(120) + width: Sizes.dp(20) + orientation: Qt.Vertical + visible: opacity > 0.0 + opacity: root.nextTurnDistance <= 300 && root.nextTurnDistanceMeasuredIn === "m" ? 1 : 0 + Behavior on opacity { DefaultNumberAnimation {} } + + value: root.nextTurnDistance <= 300 && root.nextTurnDistanceMeasuredIn === "m" + ? root.nextTurnDistance / 300 : 0.0 + + style: ProgressBarStyle { + background: Rectangle { + radius: 2 + color: "transparent" + border.color: "gray" + border.width: Sizes.dp(1) + implicitHeight: Sizes.dp(200) + implicitWidth: Sizes.dp(20) + } + progress: Rectangle { + color: "lightsteelblue" + border.color: "steelblue" + } + } + } +} diff --git a/apps/com.pelagicore.hud/panels/SpeedPanel.qml b/apps/com.pelagicore.hud/panels/SpeedPanel.qml new file mode 100644 index 00000000..b019a196 --- /dev/null +++ b/apps/com.pelagicore.hud/panels/SpeedPanel.qml @@ -0,0 +1,112 @@ +/**************************************************************************** +** +** Copyright (C) 2019 Luxoft Sweden AB +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Neptune 3 Cluster UI. +** +** $QT_BEGIN_LICENSE:GPL-QTAS$ +** Commercial License Usage +** Licensees holding valid commercial Qt Automotive Suite licenses may use +** this file in accordance with the commercial license agreement provided +** with the Software or, alternatively, in accordance with the terms +** contained in a written agreement between you and The Qt Company. For +** licensing terms and conditions see https://www.qt.io/terms-conditions. +** For further information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +** SPDX-License-Identifier: GPL-3.0 +** +****************************************************************************/ + +import QtQuick 2.8 +import QtQuick.Controls 2.2 +import shared.Style 1.0 +import shared.Sizes 1.0 + +Item { + id: root + + property real currentSpeed + property real speedLimit + property real cruiseSpeed + + Rectangle { + anchors.centerIn: parent + anchors.verticalCenterOffset: Sizes.dp(60) + anchors.rightMargin: Sizes.dp(20) + width: Sizes.dp(50) + height: Sizes.dp(50) + radius: width / 2 + border.color: (root.currentSpeed > root.speedLimit) ? "red" : "grey" + border.width: Sizes.dp(6) + opacity: (root.currentSpeed > root.speedLimit) ? 1.0 : 0.0 + Behavior on opacity { + NumberAnimation { easing.type: Easing.OutCubic; duration: 270 } + } + Label { + anchors.centerIn: parent + text: Math.round(speedLimit) + opacity: Style.opacityHigh + font.pixelSize: Sizes.fontSizeXS + color: root.Style.theme === Style.Dark ? Style.mainColor : Style.contrastColor + } + } + + Image { + id: cruiseIcon + anchors.horizontalCenter: parent.horizontalCenter + anchors.horizontalCenterOffset: -Sizes.dp(18) + anchors.bottom: speed.top + opacity: (root.cruiseSpeed >= 30) ? 1 : 0.0 + width: Sizes.dp(35) + height: Sizes.dp(31) + source: "../assets/ic-acc.png" + Behavior on opacity { + NumberAnimation { easing.type: Easing.OutCubic; duration: 270 } + } + } + + Label { + anchors.left: cruiseIcon.right + anchors.leftMargin: Sizes.dp(10) + anchors.verticalCenter: cruiseIcon.verticalCenter + text: Math.round(root.cruiseSpeed) + font.weight: Font.Light + font.pixelSize: Sizes.fontSizeS + opacity: cruiseIcon.opacity + color: "white" + } + + Label { + id: speed + anchors.centerIn: parent + text: Math.round(root.currentSpeed) + verticalAlignment: Text.AlignTop + horizontalAlignment: Text.AlignHCenter + font.weight: Font.DemiBold + color: Style.accentColor + opacity: Style.opacityHigh + font.pixelSize: Sizes.fontSizeXXL + } + + Label { + anchors.centerIn: parent + anchors.horizontalCenterOffset: Sizes.dp(88) + text: qsTr("km/h") + font.weight: Font.Light + color: Style.accentColor + opacity: Style.opacityLow + font.pixelSize: Sizes.fontSizeM + } +} |