|
|
|
@ -15,7 +15,7 @@ import QGroundControl.Controllers 1.0
@@ -15,7 +15,7 @@ import QGroundControl.Controllers 1.0
|
|
|
|
|
Rectangle { |
|
|
|
|
id: valuesRect |
|
|
|
|
width: availableWidth |
|
|
|
|
height: deferedload.status == Loader.Ready ? (visible ? deferedload.item.height : 0) : 0 |
|
|
|
|
height: valuesColumn.height + (_margin * 2) |
|
|
|
|
color: qgcPal.windowShadeDark |
|
|
|
|
visible: missionItem.isCurrentItem |
|
|
|
|
radius: _radius |
|
|
|
@ -39,128 +39,166 @@ Rectangle {
@@ -39,128 +39,166 @@ Rectangle {
|
|
|
|
|
|
|
|
|
|
readonly property string _firmwareLabel: qsTr("Firmware") |
|
|
|
|
readonly property string _vehicleLabel: qsTr("Vehicle") |
|
|
|
|
readonly property real _margin: ScreenTools.defaultFontPixelWidth / 2 |
|
|
|
|
|
|
|
|
|
QGCPalette { id: qgcPal } |
|
|
|
|
QGCFileDialogController { id: fileController } |
|
|
|
|
|
|
|
|
|
Loader { |
|
|
|
|
id: deferedload |
|
|
|
|
active: valuesRect.visible |
|
|
|
|
asynchronous: true |
|
|
|
|
anchors.margins: _margin |
|
|
|
|
anchors.left: valuesRect.left |
|
|
|
|
anchors.right: valuesRect.right |
|
|
|
|
anchors.top: valuesRect.top |
|
|
|
|
Column { |
|
|
|
|
id: valuesColumn |
|
|
|
|
anchors.margins: _margin |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
anchors.top: parent.top |
|
|
|
|
spacing: _margin |
|
|
|
|
|
|
|
|
|
sourceComponent: Component { |
|
|
|
|
Item { |
|
|
|
|
id: valuesItem |
|
|
|
|
height: valuesColumn.height + (_margin * 2) |
|
|
|
|
Column { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
spacing: _margin |
|
|
|
|
|
|
|
|
|
Column { |
|
|
|
|
id: valuesColumn |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
anchors.top: parent.top |
|
|
|
|
spacing: _margin |
|
|
|
|
GridLayout { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
columnSpacing: ScreenTools.defaultFontPixelWidth |
|
|
|
|
rowSpacing: columnSpacing |
|
|
|
|
columns: 2 |
|
|
|
|
|
|
|
|
|
Loader { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
sourceComponent: missionSettings |
|
|
|
|
} |
|
|
|
|
} // Column |
|
|
|
|
} // Item |
|
|
|
|
} // Component |
|
|
|
|
} // Loader |
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("Waypoint alt") |
|
|
|
|
} |
|
|
|
|
FactTextField { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.defaultMissionItemAltitude |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Component { |
|
|
|
|
id: missionSettings |
|
|
|
|
QGCCheckBox { |
|
|
|
|
id: flightSpeedCheckBox |
|
|
|
|
text: qsTr("Flight speed") |
|
|
|
|
visible: !_missionVehicle.vtol |
|
|
|
|
checked: missionItem.speedSection.specifyFlightSpeed |
|
|
|
|
onClicked: missionItem.speedSection.specifyFlightSpeed = checked |
|
|
|
|
} |
|
|
|
|
FactTextField { |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
fact: missionItem.speedSection.flightSpeed |
|
|
|
|
visible: flightSpeedCheckBox.visible |
|
|
|
|
enabled: flightSpeedCheckBox.checked |
|
|
|
|
} |
|
|
|
|
} // GridLayout |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
CameraSection { |
|
|
|
|
id: cameraSection |
|
|
|
|
checked: missionItem.cameraSection.settingsSpecified |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCLabel { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
text: qsTr("Above camera commands will take affect immediately upon mission start.") |
|
|
|
|
wrapMode: Text.WordWrap |
|
|
|
|
horizontalAlignment: Text.AlignHCenter |
|
|
|
|
font.pointSize: ScreenTools.smallFontPointSize |
|
|
|
|
visible: cameraSection.checked |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
SectionHeader { |
|
|
|
|
id: missionEndHeader |
|
|
|
|
text: qsTr("Mission End") |
|
|
|
|
checked: true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Column { |
|
|
|
|
id: valuesColumn |
|
|
|
|
anchors.left: parent ? parent.left : undefined |
|
|
|
|
anchors.right: parent ? parent.right : undefined |
|
|
|
|
anchors.top: parent ? parent.top : undefined |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
spacing: _margin |
|
|
|
|
visible: missionEndHeader.checked |
|
|
|
|
|
|
|
|
|
Column { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
spacing: _margin |
|
|
|
|
QGCCheckBox { |
|
|
|
|
text: qsTr("Return To Launch") |
|
|
|
|
checked: missionItem.missionEndRTL |
|
|
|
|
onClicked: missionItem.missionEndRTL = checked |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
GridLayout { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
columnSpacing: ScreenTools.defaultFontPixelWidth |
|
|
|
|
rowSpacing: columnSpacing |
|
|
|
|
columns: 2 |
|
|
|
|
|
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("Waypoint alt") |
|
|
|
|
} |
|
|
|
|
FactTextField { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.defaultMissionItemAltitude |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
} |
|
|
|
|
SectionHeader { |
|
|
|
|
id: vehicleInfoSectionHeader |
|
|
|
|
text: qsTr("Vehicle Info") |
|
|
|
|
visible: _offlineEditing && !_waypointsOnlyMode |
|
|
|
|
checked: false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCCheckBox { |
|
|
|
|
id: flightSpeedCheckBox |
|
|
|
|
text: qsTr("Flight speed") |
|
|
|
|
visible: !_missionVehicle.vtol |
|
|
|
|
checked: missionItem.speedSection.specifyFlightSpeed |
|
|
|
|
onClicked: missionItem.speedSection.specifyFlightSpeed = checked |
|
|
|
|
} |
|
|
|
|
FactTextField { |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
fact: missionItem.speedSection.flightSpeed |
|
|
|
|
visible: flightSpeedCheckBox.visible |
|
|
|
|
enabled: flightSpeedCheckBox.checked |
|
|
|
|
} |
|
|
|
|
} // GridLayout |
|
|
|
|
} |
|
|
|
|
GridLayout { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
columnSpacing: ScreenTools.defaultFontPixelWidth |
|
|
|
|
rowSpacing: columnSpacing |
|
|
|
|
columns: 2 |
|
|
|
|
visible: vehicleInfoSectionHeader.visible && vehicleInfoSectionHeader.checked |
|
|
|
|
|
|
|
|
|
CameraSection { |
|
|
|
|
id: cameraSection |
|
|
|
|
checked: missionItem.cameraSection.settingsSpecified |
|
|
|
|
QGCLabel { |
|
|
|
|
text: _firmwareLabel |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
visible: _showOfflineVehicleCombos |
|
|
|
|
} |
|
|
|
|
FactComboBox { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.offlineEditingFirmwareType |
|
|
|
|
indexModel: false |
|
|
|
|
Layout.preferredWidth: _fieldWidth |
|
|
|
|
visible: _showOfflineVehicleCombos |
|
|
|
|
enabled: _enableOfflineVehicleCombos |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCLabel { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
text: qsTr("Above camera commands will take affect immediately upon mission start.") |
|
|
|
|
wrapMode: Text.WordWrap |
|
|
|
|
horizontalAlignment: Text.AlignHCenter |
|
|
|
|
font.pointSize: ScreenTools.smallFontPointSize |
|
|
|
|
visible: cameraSection.checked |
|
|
|
|
text: _vehicleLabel |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
visible: _showOfflineVehicleCombos |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
SectionHeader { |
|
|
|
|
id: missionEndHeader |
|
|
|
|
text: qsTr("Mission End") |
|
|
|
|
checked: true |
|
|
|
|
FactComboBox { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.offlineEditingVehicleType |
|
|
|
|
indexModel: false |
|
|
|
|
Layout.preferredWidth: _fieldWidth |
|
|
|
|
visible: _showOfflineVehicleCombos |
|
|
|
|
enabled: _enableOfflineVehicleCombos |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Column { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
spacing: _margin |
|
|
|
|
visible: missionEndHeader.checked |
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("Cruise speed") |
|
|
|
|
visible: _showCruiseSpeed |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
} |
|
|
|
|
FactTextField { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.offlineEditingCruiseSpeed |
|
|
|
|
visible: _showCruiseSpeed |
|
|
|
|
Layout.preferredWidth: _fieldWidth |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCCheckBox { |
|
|
|
|
text: qsTr("Return To Launch") |
|
|
|
|
checked: missionItem.missionEndRTL |
|
|
|
|
onClicked: missionItem.missionEndRTL = checked |
|
|
|
|
} |
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("Hover speed") |
|
|
|
|
visible: _showHoverSpeed |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
} |
|
|
|
|
FactTextField { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.offlineEditingHoverSpeed |
|
|
|
|
visible: _showHoverSpeed |
|
|
|
|
Layout.preferredWidth: _fieldWidth |
|
|
|
|
} |
|
|
|
|
} // GridLayout |
|
|
|
|
|
|
|
|
|
SectionHeader { |
|
|
|
|
id: plannedHomePositionSection |
|
|
|
|
text: qsTr("Planned Home Position") |
|
|
|
|
visible: !_vehicleHasHomePosition |
|
|
|
|
checked: false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
SectionHeader { |
|
|
|
|
id: vehicleInfoSectionHeader |
|
|
|
|
text: qsTr("Vehicle Info") |
|
|
|
|
visible: _offlineEditing && !_waypointsOnlyMode |
|
|
|
|
checked: false |
|
|
|
|
} |
|
|
|
|
Column { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
spacing: _margin |
|
|
|
|
visible: plannedHomePositionSection.checked && !_vehicleHasHomePosition |
|
|
|
|
|
|
|
|
|
GridLayout { |
|
|
|
|
anchors.left: parent.left |
|
|
|
@ -168,100 +206,29 @@ Rectangle {
@@ -168,100 +206,29 @@ Rectangle {
|
|
|
|
|
columnSpacing: ScreenTools.defaultFontPixelWidth |
|
|
|
|
rowSpacing: columnSpacing |
|
|
|
|
columns: 2 |
|
|
|
|
visible: vehicleInfoSectionHeader.visible && vehicleInfoSectionHeader.checked |
|
|
|
|
|
|
|
|
|
QGCLabel { |
|
|
|
|
text: _firmwareLabel |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
visible: _showOfflineVehicleCombos |
|
|
|
|
} |
|
|
|
|
FactComboBox { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.offlineEditingFirmwareType |
|
|
|
|
indexModel: false |
|
|
|
|
Layout.preferredWidth: _fieldWidth |
|
|
|
|
visible: _showOfflineVehicleCombos |
|
|
|
|
enabled: _enableOfflineVehicleCombos |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCLabel { |
|
|
|
|
text: _vehicleLabel |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
visible: _showOfflineVehicleCombos |
|
|
|
|
} |
|
|
|
|
FactComboBox { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.offlineEditingVehicleType |
|
|
|
|
indexModel: false |
|
|
|
|
Layout.preferredWidth: _fieldWidth |
|
|
|
|
visible: _showOfflineVehicleCombos |
|
|
|
|
enabled: _enableOfflineVehicleCombos |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("Cruise speed") |
|
|
|
|
visible: _showCruiseSpeed |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
text: qsTr("Altitude") |
|
|
|
|
} |
|
|
|
|
FactTextField { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.offlineEditingCruiseSpeed |
|
|
|
|
visible: _showCruiseSpeed |
|
|
|
|
Layout.preferredWidth: _fieldWidth |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("Hover speed") |
|
|
|
|
visible: _showHoverSpeed |
|
|
|
|
fact: missionItem.plannedHomePositionAltitude |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
} |
|
|
|
|
FactTextField { |
|
|
|
|
fact: QGroundControl.settingsManager.appSettings.offlineEditingHoverSpeed |
|
|
|
|
visible: _showHoverSpeed |
|
|
|
|
Layout.preferredWidth: _fieldWidth |
|
|
|
|
} |
|
|
|
|
} // GridLayout |
|
|
|
|
|
|
|
|
|
SectionHeader { |
|
|
|
|
id: plannedHomePositionSection |
|
|
|
|
text: qsTr("Planned Home Position") |
|
|
|
|
visible: !_vehicleHasHomePosition |
|
|
|
|
checked: false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Column { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
spacing: _margin |
|
|
|
|
visible: plannedHomePositionSection.checked && !_vehicleHasHomePosition |
|
|
|
|
|
|
|
|
|
GridLayout { |
|
|
|
|
anchors.left: parent.left |
|
|
|
|
anchors.right: parent.right |
|
|
|
|
columnSpacing: ScreenTools.defaultFontPixelWidth |
|
|
|
|
rowSpacing: columnSpacing |
|
|
|
|
columns: 2 |
|
|
|
|
|
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("Altitude") |
|
|
|
|
} |
|
|
|
|
FactTextField { |
|
|
|
|
fact: missionItem.plannedHomePositionAltitude |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCLabel { |
|
|
|
|
width: parent.width |
|
|
|
|
wrapMode: Text.WordWrap |
|
|
|
|
font.pointSize: ScreenTools.smallFontPointSize |
|
|
|
|
text: qsTr("Actual position set by vehicle at flight time.") |
|
|
|
|
horizontalAlignment: Text.AlignHCenter |
|
|
|
|
} |
|
|
|
|
QGCLabel { |
|
|
|
|
width: parent.width |
|
|
|
|
wrapMode: Text.WordWrap |
|
|
|
|
font.pointSize: ScreenTools.smallFontPointSize |
|
|
|
|
text: qsTr("Actual position set by vehicle at flight time.") |
|
|
|
|
horizontalAlignment: Text.AlignHCenter |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCButton { |
|
|
|
|
text: qsTr("Set Home To Map Center") |
|
|
|
|
onClicked: missionItem.coordinate = map.center |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
QGCButton { |
|
|
|
|
text: qsTr("Set Home To Map Center") |
|
|
|
|
onClicked: missionItem.coordinate = map.center |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
} // Column |
|
|
|
|
} // Deferred loader |
|
|
|
|
} |
|
|
|
|
} // Column |
|
|
|
|
} // Rectangle |
|
|
|
|