You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
4.5 KiB
115 lines
4.5 KiB
/**************************************************************************** |
|
* |
|
* (c) 2017 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org> |
|
* |
|
* 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: satelitte |
|
width: (gpsValuesColumn.x + gpsValuesColumn.width) * 1.1 |
|
anchors.top: parent.top |
|
anchors.bottom: parent.bottom |
|
visible: 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.appSettingsDistanceUnitsString |
|
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: { |
|
var centerX = mapToGlobal(x + (width / 2), 0).x |
|
mainWindow.showPopUp(gpsInfo, centerX) |
|
} |
|
} |
|
}
|
|
|