1
0
Fork 0
flightgear/src/GUI/qml/LocationNavaidView.qml
James Turner 4956386b84 Launcher: disable magnetic bearing/headings
These don’t work right now (FG doesn’t support passing them in via
arguments) so disable them in the UI to avoid confusion.
2018-11-25 13:51:06 +00:00

161 lines
4.8 KiB
QML

import QtQuick 2.4
import FlightGear 1.0
import FlightGear.Launcher 1.0
import "."
Item {
property alias location: navaidData.guid
property alias geod: diagram.geod
Positioned {
id: navaidData
onGuidChanged: {
if (guid > 0) {
diagram.navaid = guid
_location.setBaseLocation(this)
}
}
}
NavaidDiagram {
id: diagram
anchors.fill: parent
offsetEnabled: _location.offsetEnabled
offsetBearing: _location.offsetRadial
offsetDistance: _location.offsetDistance
heading: _location.heading
}
Rectangle {
id: panel
color: "transparent"
border.width: 1
border.color: Style.frameColor
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
margins: Style.strutSize
}
height: selectionGrid.height + Style.margin * 2
// set opacity here only, so we don't make the whole summary pannel translucent
Rectangle {
id: background
anchors.fill: parent
z: -1
opacity: Style.panelOpacity
color: "white"
}
Column {
id: selectionGrid
spacing: Style.margin
width: parent.width
StyledText { // heading text
id: headingText
anchors {
left: parent.left
right: parent.right
margins: Style.margin
}
text: qsTr("Position: %1").arg(geod.toString(0));
font.pixelSize: Style.headingFontPixelSize
Binding {
when: navaidData.valid
target: headingText
property: "text"
value: qsTr("Navaid: %1 / %2").arg(navaidData.ident).arg(navaidData.name)
}
}
Row {
height: childrenRect.height
width: parent.width
spacing: Style.margin
ToggleSwitch {
id: airspeedToggle
checked: _location.speedEnabled
onCheckedChanged: _location.speedEnabled = checked;
}
NumericalEdit {
label: qsTr("Airspeed:")
enabled: _location.speedEnabled
quantity: _location.airspeed
onCommit: _location.airspeed = newValue
unitsMode: Units.Speed
}
Item {
// padding
width: Style.strutSize
height: 1
}
ToggleSwitch {
id: headingToggle
checked: _location.headingEnabled
function toggle(newChecked) {
_location.headingEnabled = newChecked;
}
}
NumericalEdit {
label: qsTr("Heading:")
// FIXME: support passing a magnetic heading to FG
// or compute magvar ourselves
unitsMode: Units.HeadingOnlyTrue
enabled: _location.headingEnabled
quantity: _location.heading
onCommit: _location.heading = newValue
}
}
LocationAltitudeRow
{
width: parent.width
unitsMode: Units.AltitudeIncludingMeters
}
// offset row
Row {
ToggleSwitch {
id: offsetToggle
label: qsTr("Offset ")
anchors.verticalCenter: parent.verticalCenter
checked: _location.offsetEnabled
onCheckedChanged: {
_location.offsetEnabled = checked
}
}
NumericalEdit {
id: offsetNmEdit
quantity: _location.offsetDistance
onCommit: _location.offsetDistance = newValue
live: true
anchors.verticalCenter: parent.verticalCenter
enabled: offsetToggle.checked
unitsMode: Units.Distance
}
NumericalEdit {
label: qsTr(" on bearing ")
unitsMode: Units.HeadingOnlyTrue
enabled: offsetToggle.checked
quantity: _location.offsetRadial
onCommit: _location.offsetRadial = newValue
live: true
}
}
} // main layout column
} // main panel rectangle
}