/**************************************************************************** * * (c) 2009-2020 QGROUNDCONTROL PROJECT * * QGroundControl is licensed according to the terms in the file * COPYING.md in the root of the source code directory. * ****************************************************************************/ import QtQuick 2.11 import QtQuick.Layouts 1.11 import QGroundControl 1.0 import QGroundControl.Controls 1.0 import QGroundControl.ScreenTools 1.0 import QGroundControl.Palette 1.0 //------------------------------------------------------------------------- //-- GPS Indicator Item { id: _root width: (gpsValuesColumn.x + gpsValuesColumn.width) * 1.1 anchors.top: parent.top anchors.bottom: parent.bottom property bool showIndicator: QGroundControl.gpsRtk.connected.value Component { id: gpsInfo Rectangle { width: gpsCol.width + ScreenTools.defaultFontPixelWidth * 3 height: gpsCol.height + ScreenTools.defaultFontPixelHeight * 2 radius: ScreenTools.defaultFontPixelHeight * 0.5 color: qgcPal.window border.color: qgcPal.text Column { id: gpsCol spacing: ScreenTools.defaultFontPixelHeight * 0.5 width: Math.max(gpsGrid.width, gpsLabel.width) anchors.margins: ScreenTools.defaultFontPixelHeight anchors.centerIn: parent QGCLabel { id: gpsLabel text: (QGroundControl.gpsRtk.active.value) ? qsTr("Survey-in Active") : qsTr("RTK Streaming") font.family: ScreenTools.demiboldFontFamily anchors.horizontalCenter: parent.horizontalCenter } GridLayout { id: gpsGrid visible: true anchors.margins: ScreenTools.defaultFontPixelHeight columnSpacing: ScreenTools.defaultFontPixelWidth anchors.horizontalCenter: parent.horizontalCenter columns: 2 QGCLabel { text: qsTr("Duration:") visible: QGroundControl.gpsRtk.active.value } QGCLabel { text: QGroundControl.gpsRtk.currentDuration.value + ' s' visible: QGroundControl.gpsRtk.active.value } QGCLabel { // during survey-in show the current accuracy, after that show the final accuracy text: QGroundControl.gpsRtk.valid.value ? qsTr("Accuracy:") : qsTr("Current Accuracy:") visible: QGroundControl.gpsRtk.currentAccuracy.value > 0 } QGCLabel { text: QGroundControl.gpsRtk.currentAccuracy.valueString + " " + QGroundControl.unitsConversion.appSettingsHorizontalDistanceUnitsString visible: QGroundControl.gpsRtk.currentAccuracy.value > 0 } QGCLabel { text: qsTr("Satellites:") } QGCLabel { text: QGroundControl.gpsRtk.numSatellites.value } } } } } QGCColoredImage { id: gpsIcon width: height anchors.top: parent.top anchors.bottom: parent.bottom source: "/qmlimages/RTK.svg" fillMode: Image.PreserveAspectFit sourceSize.height: height opacity: 1 color: QGroundControl.gpsRtk.active.value ? qgcPal.colorRed : qgcPal.buttonText } Column { id: gpsValuesColumn anchors.verticalCenter: parent.verticalCenter anchors.leftMargin: ScreenTools.defaultFontPixelWidth / 2 anchors.left: gpsIcon.right QGCLabel { anchors.horizontalCenter: parent.horizontalCenter color: qgcPal.buttonText text: QGroundControl.gpsRtk.numSatellites.value } } MouseArea { anchors.fill: parent onClicked: { mainWindow.showIndicatorPopup(_root, gpsInfo) } } }