diff options
Diffstat (limited to 'app/qml/InfoWindow.qml')
-rw-r--r-- | app/qml/InfoWindow.qml | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/app/qml/InfoWindow.qml b/app/qml/InfoWindow.qml new file mode 100644 index 0000000..4acba5d --- /dev/null +++ b/app/qml/InfoWindow.qml @@ -0,0 +1,101 @@ +import QtQuick 2.9 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 + +Rectangle { + id: infoWindow + + anchors.fill: parent + color: "black" + + property date now: new Date + Timer { + interval: 100; running: true; repeat: true; + onTriggered: parent.now = new Date + } + + ColumnLayout { + anchors.fill: parent + spacing: 0 + + Text { + Layout.fillWidth: true + Layout.fillHeight: false + Layout.alignment: Qt.AlignHCenter + Layout.topMargin: parent.height / 10 + + text: now.toLocaleString(Qt.locale("en_US"), 'h:mm A') + font.pixelSize: 40 + color: "white" + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + padding: 0 + } + + Text { + id: speedText + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + Layout.topMargin: parent.height / 10 + + text: tbtnavi.vehicleSpeed.toFixed(0) + color: "white" + font.pixelSize: 280 + // Slight hack to shrink the border around the text by tweaking + // the line height, note that it is font size dependent + lineHeight: 0.8 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + padding: 0 + } + Text { + id: speedLabel + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + + text: "MPH" + color: "white" + font.pixelSize: 32 + font.bold: true + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + padding: 0 + } + + Text { + id: rpmText + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + Layout.topMargin: parent.height / 16 + + text: tbtnavi.engineSpeed.toFixed(0) + color: "white" + font.pixelSize: 64 + font.bold: true + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + padding: 0 + } + Text { + id: rpmLabel + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + + text: "RPM" + color: "white" + font.pixelSize: 32 + font.bold: true + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + padding: 0 + } + + // Use height filling rectangle to push things together, + // saving tinkering with minimum/preferred heights + Rectangle { + Layout.fillWidth: true + Layout.fillHeight: true + color: "black" + } + } +} |