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.
236 lines
9.6 KiB
236 lines
9.6 KiB
import QtQuick 2.3 |
|
import QtQuick.Controls 1.2 |
|
import QtQuick.Layouts 1.2 |
|
|
|
import QGroundControl 1.0 |
|
import QGroundControl.ScreenTools 1.0 |
|
import QGroundControl.Vehicle 1.0 |
|
import QGroundControl.Controls 1.0 |
|
import QGroundControl.FactControls 1.0 |
|
import QGroundControl.Palette 1.0 |
|
import QGroundControl.SettingsManager 1.0 |
|
import QGroundControl.Controllers 1.0 |
|
|
|
// Editor for Mission Settings |
|
Rectangle { |
|
id: valuesRect |
|
width: availableWidth |
|
height: valuesColumn.height + (_margin * 2) |
|
color: qgcPal.windowShadeDark |
|
visible: missionItem.isCurrentItem |
|
radius: _radius |
|
|
|
property var _masterControler: masterController |
|
property var _missionController: _masterControler.missionController |
|
property var _missionVehicle: _masterControler.controllerVehicle |
|
property bool _vehicleHasHomePosition: _missionVehicle.homePosition.isValid |
|
property bool _offlineEditing: _missionVehicle.isOfflineEditingVehicle |
|
property bool _showOfflineVehicleCombos: _multipleFirmware |
|
property bool _enableOfflineVehicleCombos: _offlineEditing && _noMissionItemsAdded |
|
property bool _showCruiseSpeed: !_missionVehicle.multiRotor |
|
property bool _showHoverSpeed: _missionVehicle.multiRotor || _missionVehicle.vtol |
|
property bool _multipleFirmware: QGroundControl.supportedFirmwareCount > 2 |
|
property real _fieldWidth: ScreenTools.defaultFontPixelWidth * 16 |
|
property bool _mobile: ScreenTools.isMobile |
|
property var _savePath: QGroundControl.settingsManager.appSettings.missionSavePath |
|
property var _fileExtension: QGroundControl.settingsManager.appSettings.missionFileExtension |
|
property var _appSettings: QGroundControl.settingsManager.appSettings |
|
property bool _waypointsOnlyMode: QGroundControl.corePlugin.options.missionWaypointsOnly |
|
property bool _showCameraSection: !_waypointsOnlyMode || QGroundControl.corePlugin.showAdvancedUI |
|
|
|
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 } |
|
|
|
Column { |
|
id: valuesColumn |
|
anchors.margins: _margin |
|
anchors.left: parent.left |
|
anchors.right: parent.right |
|
anchors.top: parent.top |
|
spacing: _margin |
|
|
|
Column { |
|
anchors.left: parent.left |
|
anchors.right: parent.right |
|
spacing: _margin |
|
|
|
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 |
|
} |
|
|
|
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 |
|
visible: _showCameraSection |
|
} |
|
|
|
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: _showCameraSection && cameraSection.checked |
|
} |
|
|
|
SectionHeader { |
|
id: missionEndHeader |
|
text: qsTr("Mission End") |
|
checked: true |
|
} |
|
|
|
Column { |
|
anchors.left: parent.left |
|
anchors.right: parent.right |
|
spacing: _margin |
|
visible: missionEndHeader.checked |
|
|
|
QGCCheckBox { |
|
text: qsTr("Return To Launch") |
|
checked: missionItem.missionEndRTL |
|
onClicked: missionItem.missionEndRTL = checked |
|
} |
|
} |
|
|
|
|
|
SectionHeader { |
|
id: vehicleInfoSectionHeader |
|
text: qsTr("Vehicle Info") |
|
visible: _offlineEditing && !_waypointsOnlyMode |
|
checked: false |
|
} |
|
|
|
GridLayout { |
|
anchors.left: parent.left |
|
anchors.right: parent.right |
|
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 |
|
} |
|
FactTextField { |
|
fact: QGroundControl.settingsManager.appSettings.offlineEditingCruiseSpeed |
|
visible: _showCruiseSpeed |
|
Layout.preferredWidth: _fieldWidth |
|
} |
|
|
|
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 |
|
} |
|
|
|
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 |
|
} |
|
|
|
QGCButton { |
|
text: qsTr("Set Home To Map Center") |
|
onClicked: missionItem.coordinate = map.center |
|
anchors.horizontalCenter: parent.horizontalCenter |
|
} |
|
} |
|
} // Column |
|
} // Rectangle
|
|
|