From 80ce7ae0f9131d81456e70d6e139cd2760b76ebc Mon Sep 17 00:00:00 2001 From: Stefan Dunca Date: Tue, 13 Aug 2019 11:07:33 +0200 Subject: [PATCH] custom-example: Add GPS info to the Vehicle Indicator --- custom-example/res/CustomFlyView.qml | 159 ++++++++++++++++++--------- 1 file changed, 105 insertions(+), 54 deletions(-) diff --git a/custom-example/res/CustomFlyView.qml b/custom-example/res/CustomFlyView.qml index c7e8f010a..d6aaf7107 100644 --- a/custom-example/res/CustomFlyView.qml +++ b/custom-example/res/CustomFlyView.qml @@ -266,68 +266,59 @@ Item { rowSpacing: ScreenTools.defaultFontPixelHeight * 0.5 columns: 7 anchors.centerIn: parent - //-- Chronometer - QGCColoredImage { + //-- Latitude + QGCLabel { height: _indicatorsHeight width: height - source: "/custom/img/chronometer.svg" - fillMode: Image.PreserveAspectFit - sourceSize.height: height Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter color: qgcPal.text - } - QGCLabel { - text: { - if(activeVehicle) - return secondsToHHMMSS(activeVehicle.getFact("flightTime").value) - return "00:00:00" + text: "lat:" } - color: _indicatorsColor - font.pointSize: ScreenTools.smallFontPointSize - Layout.fillWidth: true - Layout.minimumWidth: indicatorValueWidth - horizontalAlignment: Text.AlignRight - } - //-- Ground Speed - QGCColoredImage { + QGCLabel { + id: firstLabel + text: activeVehicle ? activeVehicle.gps.lat.value.toFixed(activeVehicle.gps.lat.decimalPlaces) : "-" + color: _indicatorsColor + font.pointSize: ScreenTools.smallFontPointSize + Layout.fillWidth: true + Layout.minimumWidth: indicatorValueWidth + horizontalAlignment: Text.AlignLeft + } + //-- Longitude + QGCLabel { height: _indicatorsHeight width: height - source: "/custom/img/horizontal_speed.svg" - fillMode: Image.PreserveAspectFit - sourceSize.height: height Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter color: qgcPal.text + text: "lon:" } QGCLabel { - text: activeVehicle ? activeVehicle.groundSpeed.value.toFixed(1) + ' ' + activeVehicle.groundSpeed.units : "0.0" + text: activeVehicle ? activeVehicle.gps.lon.value.toFixed(activeVehicle.gps.lon.decimalPlaces) : "-" color: _indicatorsColor font.pointSize: ScreenTools.smallFontPointSize Layout.fillWidth: true Layout.minimumWidth: indicatorValueWidth - horizontalAlignment: Text.AlignRight + horizontalAlignment: firstLabel.horizontalAlignment } - //-- Vertical Speed - QGCColoredImage { + //-- HDOP + QGCLabel { height: _indicatorsHeight width: height - source: "/custom/img/vertical_speed.svg" - fillMode: Image.PreserveAspectFit - sourceSize.height: height Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter color: qgcPal.text - + text: "HDOP:" } QGCLabel { - text: activeVehicle ? activeVehicle.climbRate.value.toFixed(1) + ' ' + activeVehicle.climbRate.units : "0.0" + text: activeVehicle ? activeVehicle.gps.hdop.value.toFixed(activeVehicle.gps.hdop.decimalPlaces) : "-" color: _indicatorsColor font.pointSize: ScreenTools.smallFontPointSize Layout.fillWidth: true Layout.minimumWidth: indicatorValueWidth - horizontalAlignment: Text.AlignRight + horizontalAlignment: firstLabel.horizontalAlignment } + //-- Compass Item { - Layout.rowSpan: 2 + Layout.rowSpan: 3 Layout.minimumWidth: mainIsMap ? parent.height * 1.25 : 0 Layout.fillHeight: true Layout.fillWidth: true @@ -395,6 +386,66 @@ Item { } } //-- Second Row + //-- Chronometer + QGCColoredImage { + height: _indicatorsHeight + width: height + source: "/custom/img/chronometer.svg" + fillMode: Image.PreserveAspectFit + sourceSize.height: height + Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter + color: qgcPal.text + } + QGCLabel { + text: { + if(activeVehicle) + return secondsToHHMMSS(activeVehicle.getFact("flightTime").value) + return "00:00:00" + } + color: _indicatorsColor + font.pointSize: ScreenTools.smallFontPointSize + Layout.fillWidth: true + Layout.minimumWidth: indicatorValueWidth + horizontalAlignment: firstLabel.horizontalAlignment + } + //-- Ground Speed + QGCColoredImage { + height: _indicatorsHeight + width: height + source: "/custom/img/horizontal_speed.svg" + fillMode: Image.PreserveAspectFit + sourceSize.height: height + Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter + color: qgcPal.text + } + QGCLabel { + text: activeVehicle ? activeVehicle.groundSpeed.value.toFixed(1) + ' ' + activeVehicle.groundSpeed.units : "0.0" + color: _indicatorsColor + font.pointSize: ScreenTools.smallFontPointSize + Layout.fillWidth: true + Layout.minimumWidth: indicatorValueWidth + horizontalAlignment: firstLabel.horizontalAlignment + } + //-- Vertical Speed + QGCColoredImage { + height: _indicatorsHeight + width: height + source: "/custom/img/vertical_speed.svg" + fillMode: Image.PreserveAspectFit + sourceSize.height: height + Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter + color: qgcPal.text + + } + QGCLabel { + text: activeVehicle ? activeVehicle.climbRate.value.toFixed(1) + ' ' + activeVehicle.climbRate.units : "0.0" + color: _indicatorsColor + font.pointSize: ScreenTools.smallFontPointSize + Layout.fillWidth: true + Layout.minimumWidth: indicatorValueWidth + horizontalAlignment: firstLabel.horizontalAlignment + } + //-- Third Row //-- Odometer QGCColoredImage { height: _indicatorsHeight @@ -412,9 +463,9 @@ Item { font.pointSize: ScreenTools.smallFontPointSize Layout.fillWidth: true Layout.minimumWidth: indicatorValueWidth - horizontalAlignment: Text.AlignRight + horizontalAlignment: firstLabel.horizontalAlignment } - //-- Altitude + //-- Altitude QGCColoredImage { height: _indicatorsHeight width: height @@ -424,16 +475,16 @@ Item { Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter color: qgcPal.text - } - QGCLabel { - text: _altitude - color: _indicatorsColor - font.pointSize: ScreenTools.smallFontPointSize - Layout.fillWidth: true - Layout.minimumWidth: indicatorValueWidth - horizontalAlignment: Text.AlignRight - } - //-- Distance + } + QGCLabel { + text: _altitude + color: _indicatorsColor + font.pointSize: ScreenTools.smallFontPointSize + Layout.fillWidth: true + Layout.minimumWidth: indicatorValueWidth + horizontalAlignment: firstLabel.horizontalAlignment + } + //-- Distance QGCColoredImage { height: _indicatorsHeight width: height @@ -443,15 +494,15 @@ Item { Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter color: qgcPal.text - } - QGCLabel { - text: _distance ? _distanceStr : noGPS - color: _distance ? _indicatorsColor : qgcPal.colorOrange - font.pointSize: ScreenTools.smallFontPointSize - Layout.fillWidth: true - Layout.minimumWidth: indicatorValueWidth - horizontalAlignment: Text.AlignRight - } + } + QGCLabel { + text: _distance ? _distanceStr : noGPS + color: _distance ? _indicatorsColor : qgcPal.colorOrange + font.pointSize: ScreenTools.smallFontPointSize + Layout.fillWidth: true + Layout.minimumWidth: indicatorValueWidth + horizontalAlignment: firstLabel.horizontalAlignment + } } MouseArea { anchors.fill: parent -- 2.22.0