Unverified Commit a75e0fb5 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #8897 from DonLakeFlyer/GeneralSettings

Reorg of settings order
parents 6cb2e103 75b35bfc
......@@ -47,14 +47,18 @@ Rectangle {
property real _panelWidth: _root.width * _internalWidthRatio
property real _margins: ScreenTools.defaultFontPixelWidth
property var _planViewSettings: QGroundControl.settingsManager.planViewSettings
property string _videoSource: QGroundControl.settingsManager.videoSettings.videoSource.value
property var _flyViewSettings: QGroundControl.settingsManager.flyViewSettings
property var _videoSettings: QGroundControl.settingsManager.videoSettings
property string _videoSource: _videoSettings.videoSource.value
property bool _isGst: QGroundControl.videoManager.isGStreamer
property bool _isUDP264: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.udp264VideoSource
property bool _isUDP265: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.udp265VideoSource
property bool _isRTSP: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.rtspVideoSource
property bool _isTCP: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.tcpVideoSource
property bool _isMPEGTS: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.mpegtsVideoSource
property bool _isUDP264: _isGst && _videoSource === _videoSettings.udp264VideoSource
property bool _isUDP265: _isGst && _videoSource === _videoSettings.udp265VideoSource
property bool _isRTSP: _isGst && _videoSource === _videoSettings.rtspVideoSource
property bool _isTCP: _isGst && _videoSource === _videoSettings.tcpVideoSource
property bool _isMPEGTS: _isGst && _videoSource === _videoSettings.mpegtsVideoSource
property bool _videoAutoStreamConfig: QGroundControl.videoManager.autoStreamConfigured
property bool _showSaveVideoSettings: _isGst || _videoAutoStreamConfig
property bool _disableAllDataPersistence: QGroundControl.settingsManager.appSettings.disableAllPersistence.rawValue
property string gpsDisabled: "Disabled"
property string gpsUdpPort: "UDP Port"
......@@ -76,6 +80,299 @@ Rectangle {
id: settingsColumn
anchors.horizontalCenter: parent.horizontalCenter
QGCLabel {
id: flyViewSectionLabel
text: qsTr("Fly View")
visible: QGroundControl.settingsManager.flyViewSettings.visible
}
Rectangle {
Layout.preferredHeight: flyViewCol.height + (_margins * 2)
Layout.preferredWidth: flyViewCol.width + (_margins * 2)
color: qgcPal.windowShade
visible: flyViewSectionLabel.visible
Layout.fillWidth: true
ColumnLayout {
id: flyViewCol
anchors.margins: _margins
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
spacing: _margins
FactCheckBox {
id: useCheckList
text: qsTr("Use Preflight Checklist")
fact: _useChecklist
visible: _useChecklist.visible && QGroundControl.corePlugin.options.preFlightChecklistUrl.toString().length
property Fact _useChecklist: QGroundControl.settingsManager.appSettings.useChecklist
}
FactCheckBox {
text: qsTr("Enforce Preflight Checklist")
fact: _enforceChecklist
enabled: QGroundControl.settingsManager.appSettings.useChecklist.value
visible: useCheckList.visible && _enforceChecklist.visible && QGroundControl.corePlugin.options.preFlightChecklistUrl.toString().length
property Fact _enforceChecklist: QGroundControl.settingsManager.appSettings.enforceChecklist
}
FactCheckBox {
text: qsTr("Keep Map Centered On Vehicle")
fact: _keepMapCenteredOnVehicle
visible: _keepMapCenteredOnVehicle.visible
property Fact _keepMapCenteredOnVehicle: QGroundControl.settingsManager.flyViewSettings.keepMapCenteredOnVehicle
}
FactCheckBox {
text: qsTr("Show Telemetry Log Replay Status Bar")
fact: _showLogReplayStatusBar
visible: _showLogReplayStatusBar.visible
property Fact _showLogReplayStatusBar: QGroundControl.settingsManager.flyViewSettings.showLogReplayStatusBar
}
RowLayout {
spacing: ScreenTools.defaultFontPixelWidth
FactCheckBox {
text: qsTr("Virtual Joystick")
visible: _virtualJoystick.visible
fact: _virtualJoystick
}
FactCheckBox {
text: qsTr("Auto-Center Throttle")
visible: _virtualJoystickAutoCenterThrottle.visible
enabled: _virtualJoystick.rawValue
fact: _virtualJoystickAutoCenterThrottle
}
}
FactCheckBox {
text: qsTr("Use Vertical Instrument Panel")
visible: _alternateInstrumentPanel.visible
fact: _alternateInstrumentPanel
property Fact _alternateInstrumentPanel: QGroundControl.settingsManager.flyViewSettings.alternateInstrumentPanel
}
FactCheckBox {
text: qsTr("Show additional heading indicators on Compass")
visible: _showAdditionalIndicatorsCompass.visible
fact: _showAdditionalIndicatorsCompass
property Fact _showAdditionalIndicatorsCompass: QGroundControl.settingsManager.flyViewSettings.showAdditionalIndicatorsCompass
}
FactCheckBox {
text: qsTr("Lock Compass Nose-Up")
visible: _lockNoseUpCompass.visible
fact: _lockNoseUpCompass
property Fact _lockNoseUpCompass: QGroundControl.settingsManager.flyViewSettings.lockNoseUpCompass
}
GridLayout {
columns: 2
QGCLabel {
text: qsTr("Guided Command Settings")
Layout.columnSpan: 2
Layout.alignment: Qt.AlignHCenter
}
QGCLabel {
text: qsTr("Minimum Altitude")
visible: guidedMinAltField.visible
}
FactTextField {
id: guidedMinAltField
Layout.preferredWidth: _valueFieldWidth
visible: fact.visible
fact: _flyViewSettings.guidedMinimumAltitude
}
QGCLabel {
text: qsTr("Maximum Altitude")
visible: guidedMaxAltField.visible
}
FactTextField {
id: guidedMaxAltField
Layout.preferredWidth: _valueFieldWidth
visible: fact.visible
fact: _flyViewSettings.guidedMaximumAltitude
}
QGCLabel {
text: qsTr("Go To Location Max Distance")
visible: maxGotoDistanceField.visible
}
FactTextField {
id: maxGotoDistanceField
Layout.preferredWidth: _valueFieldWidth
visible: fact.visible
fact: _flyViewSettings.maxGoToLocationDistance
}
}
GridLayout {
id: videoGrid
columns: 2
visible: _videoSettings.visible
QGCLabel {
text: qsTr("Video Settings")
Layout.columnSpan: 2
Layout.alignment: Qt.AlignHCenter
}
QGCLabel {
id: videoSourceLabel
text: qsTr("Source")
visible: !_videoAutoStreamConfig && _videoSettings.videoSource.visible
}
FactComboBox {
id: videoSource
Layout.preferredWidth: _comboFieldWidth
indexModel: false
fact: _videoSettings.videoSource
visible: videoSourceLabel.visible
}
QGCLabel {
id: udpPortLabel
text: qsTr("UDP Port")
visible: !_videoAutoStreamConfig && (_isUDP264 || _isUDP265 || _isMPEGTS) && _videoSettings.udpPort.visible
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: _videoSettings.udpPort
visible: udpPortLabel.visible
}
QGCLabel {
id: rtspUrlLabel
text: qsTr("RTSP URL")
visible: !_videoAutoStreamConfig && _isRTSP && _videoSettings.rtspUrl.visible
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: _videoSettings.rtspUrl
visible: rtspUrlLabel.visible
}
QGCLabel {
id: tcpUrlLabel
text: qsTr("TCP URL")
visible: !_videoAutoStreamConfig && _isTCP && _videoSettings.tcpUrl.visible
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: _videoSettings.tcpUrl
visible: tcpUrlLabel.visible
}
QGCLabel {
text: qsTr("Aspect Ratio")
visible: !_videoAutoStreamConfig && _isGst && _videoSettings.aspectRatio.visible
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: _videoSettings.aspectRatio
visible: !_videoAutoStreamConfig && _isGst && _videoSettings.aspectRatio.visible
}
QGCLabel {
id: videoFileFormatLabel
text: qsTr("File Format")
visible: _showSaveVideoSettings && _videoSettings.recordingFormat.visible
}
FactComboBox {
Layout.preferredWidth: _comboFieldWidth
fact: _videoSettings.recordingFormat
visible: videoFileFormatLabel.visible
}
QGCLabel {
id: maxSavedVideoStorageLabel
text: qsTr("Max Storage Usage")
visible: _showSaveVideoSettings && _videoSettings.maxVideoSize.visible && _videoSettings.enableStorageLimit.value
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: _videoSettings.maxVideoSize
visible: _showSaveVideoSettings && _videoSettings.enableStorageLimit.value && maxSavedVideoStorageLabel.visible
}
Item { width: 1; height: 1}
FactCheckBox {
text: qsTr("Disable When Disarmed")
fact: _videoSettings.disableWhenDisarmed
visible: !_videoAutoStreamConfig && _isGst && fact.visible
}
Item { width: 1; height: 1}
FactCheckBox {
text: qsTr("Low Latency Mode")
fact: _videoSettings.lowLatencyMode
visible: !_videoAutoStreamConfig && _isGst && fact.visible
}
Item { width: 1; height: 1}
FactCheckBox {
text: qsTr("Auto-Delete Saved Recordings")
fact: _videoSettings.enableStorageLimit
visible: _showSaveVideoSettings && fact.visible
}
}
}
}
Item { width: 1; height: _margins; visible: planViewSectionLabel.visible }
QGCLabel {
id: planViewSectionLabel
text: qsTr("Plan View")
visible: _planViewSettings.visible
}
Rectangle {
Layout.preferredHeight: planViewCol.height + (_margins * 2)
Layout.preferredWidth: planViewCol.width + (_margins * 2)
color: qgcPal.windowShade
visible: planViewSectionLabel.visible
Layout.fillWidth: true
ColumnLayout {
id: planViewCol
anchors.margins: _margins
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
spacing: _margins
RowLayout {
spacing: ScreenTools.defaultFontPixelWidth
visible: QGroundControl.settingsManager.appSettings.defaultMissionItemAltitude.visible
QGCLabel { text: qsTr("Default Mission Altitude") }
FactTextField {
Layout.preferredWidth: _valueFieldWidth
fact: QGroundControl.settingsManager.appSettings.defaultMissionItemAltitude
}
}
FactCheckBox {
text: qsTr("Use MAV_CMD_CONDITION_GATE for pattern generation")
fact: QGroundControl.settingsManager.planViewSettings.useConditionGate
}
FactCheckBox {
text: qsTr("Missions Do Not Require Takeoff Item")
fact: _planViewSettings.takeoffItemNotRequired
visible: _planViewSettings.takeoffItemNotRequired.visible
}
}
}
Item { width: 1; height: _margins; visible: unitsSectionLabel.visible }
QGCLabel {
id: unitsSectionLabel
text: qsTr("Units")
......@@ -112,8 +409,7 @@ Rectangle {
}
}
Item { width: 1; height: _margins }
Item { width: 1; height: _margins; visible: miscSectionLabel.visible }
QGCLabel {
id: miscSectionLabel
text: qsTr("Miscellaneous")
......@@ -284,356 +580,145 @@ Rectangle {
FactCheckBox {
text: qsTr("Mute all audio output")
fact: _audioMuted
visible: _audioMuted.visible
property Fact _audioMuted: QGroundControl.settingsManager.appSettings.audioMuted
}
FactCheckBox {
text: qsTr("Check for Internet connection")
fact: _checkInternet
visible: _checkInternet && _checkInternet.visible
property Fact _checkInternet: QGroundControl.settingsManager.appSettings.checkInternet
}
QGCCheckBox {
id: clearCheck
text: qsTr("Clear all settings on next start")
checked: false
onClicked: {
checked ? clearDialog.visible = true : QGroundControl.clearDeleteAllSettingsNextBoot()
}
MessageDialog {
id: clearDialog
visible: false
icon: StandardIcon.Warning
standardButtons: StandardButton.Yes | StandardButton.No
title: qsTr("Clear Settings")
text: qsTr("All saved settings will be reset the next time you start %1. Is this really what you want?").arg(QGroundControl.appName)
onYes: {
QGroundControl.deleteAllSettingsNextBoot()
clearDialog.visible = false
}
onNo: {
clearCheck.checked = false
clearDialog.visible = false
}
}
}
RowLayout {
visible: QGroundControl.settingsManager.appSettings.batteryPercentRemainingAnnounce.visible
QGCCheckBox {
id: announcePercentCheckbox
text: qsTr("Announce battery lower than")
checked: _percentRemainingAnnounce.value !== 0
onClicked: {
if (checked) {
_percentRemainingAnnounce.value = _percentRemainingAnnounce.defaultValueString
} else {
_percentRemainingAnnounce.value = 0
}
}
}
FactTextField {
fact: _percentRemainingAnnounce
Layout.preferredWidth: _valueFieldWidth
enabled: announcePercentCheckbox.checked
}
}
}
}
//-----------------------------------------------------------------
//-- Save path
RowLayout {
id: pathRow
anchors.margins: _margins
anchors.left: parent.left
anchors.right: parent.right
anchors.top: miscColItem.bottom
visible: _savePath.visible && !ScreenTools.isMobile
QGCLabel { text: qsTr("Application Load/Save Path") }
QGCTextField {
Layout.fillWidth: true
readOnly: true
text: _savePath.rawValue === "" ? qsTr("<not set>") : _savePath.value
}
QGCButton {
text: qsTr("Browse")
onClicked: savePathBrowseDialog.openForLoad()
QGCFileDialog {
id: savePathBrowseDialog
title: qsTr("Choose the location to save/load files")
folder: _savePath.rawValue
selectExisting: true
selectFolder: true
onAcceptedForLoad: _savePath.rawValue = file
}
}
}
}
Item { width: 1; height: _margins }
QGCLabel {
id: loggingSectionLabel
text: qsTr("Data Persistence")
}
Rectangle {
Layout.preferredHeight: dataPersistCol.height + (_margins * 2)
Layout.preferredWidth: dataPersistCol.width + (_margins * 2)
color: qgcPal.windowShade
Layout.fillWidth: true
ColumnLayout {
id: dataPersistCol
anchors.margins: _margins
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
spacing: _margins * 1.5
FactCheckBox {
id: disableDataPersistence
text: qsTr("Disable all data persistence")
fact: _disableDataPersistence
visible: _disableDataPersistence.visible
property Fact _disableDataPersistence: QGroundControl.settingsManager.appSettings.disableAllPersistence
}
QGCLabel {
text: qsTr("When Data Persistence is disabled, all telemetry logging and map tile caching is disabled and not written to disk.")
wrapMode: Text.WordWrap
font.pointSize: ScreenTools.smallFontPointSize
Layout.maximumWidth: logIfNotArmed.visible ? logIfNotArmed.width : disableDataPersistence.width * 1.5
}
}
}
Item { width: 1; height: _margins }
QGCLabel {
text: qsTr("Telemetry Logs from Vehicle")
visible: telemetryRect.visible
}
Rectangle {
id: telemetryRect
Layout.preferredHeight: loggingCol.height + (_margins * 2)
Layout.preferredWidth: loggingCol.width + (_margins * 2)
color: qgcPal.windowShade
Layout.fillWidth: true
visible: promptSaveLog._telemetrySave.visible || logIfNotArmed._telemetrySaveNotArmed.visible || promptSaveCsv._saveCsvTelemetry.visible
ColumnLayout {
id: loggingCol
anchors.margins: _margins
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
spacing: _margins
FactCheckBox {
id: promptSaveLog
text: qsTr("Save log after each flight")
fact: _telemetrySave
visible: _telemetrySave.visible
enabled: !disableDataPersistence.checked
property Fact _telemetrySave: QGroundControl.settingsManager.appSettings.telemetrySave
}
FactCheckBox {
id: logIfNotArmed
text: qsTr("Save logs even if vehicle was not armed")
fact: _telemetrySaveNotArmed
visible: _telemetrySaveNotArmed.visible
enabled: promptSaveLog.checked && !disableDataPersistence.checked
property Fact _telemetrySaveNotArmed: QGroundControl.settingsManager.appSettings.telemetrySaveNotArmed
}
FactCheckBox {
id: promptSaveCsv
text: qsTr("Save CSV log of telemetry data")
fact: _saveCsvTelemetry
visible: _saveCsvTelemetry.visible
enabled: !disableDataPersistence.checked
property Fact _saveCsvTelemetry: QGroundControl.settingsManager.appSettings.saveCsvTelemetry
}
}
}
Item { width: 1; height: _margins }
QGCLabel {
id: flyViewSectionLabel
text: qsTr("Fly View")
visible: QGroundControl.settingsManager.flyViewSettings.visible
}
Rectangle {
Layout.preferredHeight: flyViewCol.height + (_margins * 2)
Layout.preferredWidth: flyViewCol.width + (_margins * 2)
color: qgcPal.windowShade
visible: flyViewSectionLabel.visible
Layout.fillWidth: true
ColumnLayout {
id: flyViewCol
anchors.margins: _margins
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
spacing: _margins
FactCheckBox {
id: useCheckList
text: qsTr("Use Preflight Checklist")
fact: _useChecklist
visible: _useChecklist.visible && QGroundControl.corePlugin.options.preFlightChecklistUrl.toString().length
property Fact _useChecklist: QGroundControl.settingsManager.appSettings.useChecklist
}
FactCheckBox {
text: qsTr("Enforce Preflight Checklist")
fact: _enforceChecklist
enabled: QGroundControl.settingsManager.appSettings.useChecklist.value
visible: useCheckList.visible && _enforceChecklist.visible && QGroundControl.corePlugin.options.preFlightChecklistUrl.toString().length
property Fact _enforceChecklist: QGroundControl.settingsManager.appSettings.enforceChecklist
}
FactCheckBox {
text: qsTr("Keep Map Centered On Vehicle")
fact: _keepMapCenteredOnVehicle
visible: _keepMapCenteredOnVehicle.visible
property Fact _keepMapCenteredOnVehicle: QGroundControl.settingsManager.flyViewSettings.keepMapCenteredOnVehicle
}
FactCheckBox {
text: qsTr("Show Telemetry Log Replay Status Bar")
fact: _showLogReplayStatusBar
visible: _showLogReplayStatusBar.visible
property Fact _showLogReplayStatusBar: QGroundControl.settingsManager.flyViewSettings.showLogReplayStatusBar
}
RowLayout {
spacing: ScreenTools.defaultFontPixelWidth
FactCheckBox {
text: qsTr("Virtual Joystick")
visible: _virtualJoystick.visible
fact: _virtualJoystick
}
FactCheckBox {
text: qsTr("Auto-Center Throttle")
visible: _virtualJoystickAutoCenterThrottle.visible
enabled: _virtualJoystick.rawValue
fact: _virtualJoystickAutoCenterThrottle
}
fact: _audioMuted
visible: _audioMuted.visible
property Fact _audioMuted: QGroundControl.settingsManager.appSettings.audioMuted
}
FactCheckBox {
text: qsTr("Use Vertical Instrument Panel")
visible: _alternateInstrumentPanel.visible
fact: _alternateInstrumentPanel
property Fact _alternateInstrumentPanel: QGroundControl.settingsManager.flyViewSettings.alternateInstrumentPanel
text: qsTr("Check for Internet connection")
fact: _checkInternet
visible: _checkInternet && _checkInternet.visible
property Fact _checkInternet: QGroundControl.settingsManager.appSettings.checkInternet
}
FactCheckBox {
text: qsTr("Show additional heading indicators on Compass")
visible: _showAdditionalIndicatorsCompass.visible
fact: _showAdditionalIndicatorsCompass
property Fact _showAdditionalIndicatorsCompass: QGroundControl.settingsManager.flyViewSettings.showAdditionalIndicatorsCompass
QGCCheckBox {
id: clearCheck
text: qsTr("Clear all settings on next start")
checked: false
onClicked: {
checked ? clearDialog.visible = true : QGroundControl.clearDeleteAllSettingsNextBoot()
}
MessageDialog {
id: clearDialog
visible: false
icon: StandardIcon.Warning
standardButtons: StandardButton.Yes | StandardButton.No
title: qsTr("Clear Settings")
text: qsTr("All saved settings will be reset the next time you start %1. Is this really what you want?").arg(QGroundControl.appName)
onYes: {
QGroundControl.deleteAllSettingsNextBoot()
clearDialog.visible = false
}
onNo: {
clearCheck.checked = false
clearDialog.visible = false
}
}
FactCheckBox {
text: qsTr("Lock Compass Nose-Up")
visible: _lockNoseUpCompass.visible
fact: _lockNoseUpCompass
property Fact _lockNoseUpCompass: QGroundControl.settingsManager.flyViewSettings.lockNoseUpCompass
}
RowLayout {
visible: QGroundControl.settingsManager.appSettings.batteryPercentRemainingAnnounce.visible
GridLayout {
columns: 2
property Fact _guidedMinimumAltitude: QGroundControl.settingsManager.flyViewSettings.guidedMinimumAltitude
property Fact _guidedMaximumAltitude: QGroundControl.settingsManager.flyViewSettings.guidedMaximumAltitude
property Fact _maxGoToLocationDistance: QGroundControl.settingsManager.flyViewSettings.maxGoToLocationDistance
QGCLabel {
text: qsTr("Guided Minimum Altitude")
visible: parent._guidedMinimumAltitude.visible
QGCCheckBox {
id: announcePercentCheckbox
text: qsTr("Announce battery lower than")
checked: _percentRemainingAnnounce.value !== 0
onClicked: {
if (checked) {
_percentRemainingAnnounce.value = _percentRemainingAnnounce.defaultValueString
} else {
_percentRemainingAnnounce.value = 0
}
FactTextField {
Layout.preferredWidth: _valueFieldWidth
visible: parent._guidedMinimumAltitude.visible
fact: parent._guidedMinimumAltitude
}
QGCLabel {
text: qsTr("Guided Maximum Altitude")
visible: parent._guidedMaximumAltitude.visible
}
FactTextField {
fact: _percentRemainingAnnounce
Layout.preferredWidth: _valueFieldWidth
visible: parent._guidedMaximumAltitude.visible
fact: parent._guidedMaximumAltitude
enabled: announcePercentCheckbox.checked
}
}
}
}
QGCLabel {
text: qsTr("Go To Location Max Distance")
visible: parent._maxGoToLocationDistance.visible
//-----------------------------------------------------------------
//-- Save path
RowLayout {
id: pathRow
anchors.margins: _margins
anchors.left: parent.left
anchors.right: parent.right
anchors.top: miscColItem.bottom
visible: _savePath.visible && !ScreenTools.isMobile
QGCLabel { text: qsTr("Application Load/Save Path") }
QGCTextField {
Layout.fillWidth: true
readOnly: true
text: _savePath.rawValue === "" ? qsTr("<not set>") : _savePath.value
}
FactTextField {
Layout.preferredWidth: _valueFieldWidth
visible: parent._maxGoToLocationDistance.visible
fact: parent._maxGoToLocationDistance
QGCButton {
text: qsTr("Browse")
onClicked: savePathBrowseDialog.openForLoad()
QGCFileDialog {
id: savePathBrowseDialog
title: qsTr("Choose the location to save/load files")
folder: _savePath.rawValue
selectExisting: true
selectFolder: true
onAcceptedForLoad: _savePath.rawValue = file
}
}
}
}
Item { width: 1; height: _margins }
Item { width: 1; height: _margins; visible: telemetryLogSectionLabel.visible }
QGCLabel {
id: planViewSectionLabel
text: qsTr("Plan View")
visible: _planViewSettings.visible
id: telemetryLogSectionLabel
text: qsTr("Telemetry Logs from Vehicle")
visible: telemetryRect.visible
}
Rectangle {
Layout.preferredHeight: planViewCol.height + (_margins * 2)
Layout.preferredWidth: planViewCol.width + (_margins * 2)
id: telemetryRect
Layout.preferredHeight: loggingCol.height + (_margins * 2)
Layout.preferredWidth: loggingCol.width + (_margins * 2)
color: qgcPal.windowShade
visible: planViewSectionLabel.visible
Layout.fillWidth: true
visible: promptSaveLog._telemetrySave.visible || logIfNotArmed._telemetrySaveNotArmed.visible || promptSaveCsv._saveCsvTelemetry.visible
ColumnLayout {
id: planViewCol
id: loggingCol
anchors.margins: _margins
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
spacing: _margins
RowLayout {
spacing: ScreenTools.defaultFontPixelWidth
visible: QGroundControl.settingsManager.appSettings.defaultMissionItemAltitude.visible
QGCLabel { text: qsTr("Default Mission Altitude") }
FactTextField {
Layout.preferredWidth: _valueFieldWidth
fact: QGroundControl.settingsManager.appSettings.defaultMissionItemAltitude
}
FactCheckBox {
id: promptSaveLog
text: qsTr("Save log after each flight")
fact: _telemetrySave
visible: _telemetrySave.visible
enabled: !_disableAllDataPersistence
property Fact _telemetrySave: QGroundControl.settingsManager.appSettings.telemetrySave
}
FactCheckBox {
text: qsTr("Use MAV_CMD_CONDITION_GATE for pattern generation")
fact: QGroundControl.settingsManager.planViewSettings.useConditionGate
id: logIfNotArmed
text: qsTr("Save logs even if vehicle was not armed")
fact: _telemetrySaveNotArmed
visible: _telemetrySaveNotArmed.visible
enabled: promptSaveLog.checked && !_disableAllDataPersistence
property Fact _telemetrySaveNotArmed: QGroundControl.settingsManager.appSettings.telemetrySaveNotArmed
}
FactCheckBox {
text: qsTr("Missions Do Not Require Takeoff Item")
fact: _planViewSettings.takeoffItemNotRequired
visible: _planViewSettings.takeoffItemNotRequired.visible
id: promptSaveCsv
text: qsTr("Save CSV log of telemetry data")
fact: _saveCsvTelemetry
visible: _saveCsvTelemetry.visible
enabled: !_disableAllDataPersistence
property Fact _saveCsvTelemetry: QGroundControl.settingsManager.appSettings.saveCsvTelemetry
}
}
}
Item { width: 1; height: _margins }
Item { width: 1; height: _margins; visible: autoConnectSectionLabel.visible }
QGCLabel {
id: autoConnectSectionLabel
text: qsTr("AutoConnect to the following devices")
......@@ -748,8 +833,7 @@ Rectangle {
}
}
Item { width: 1; height: _margins }
Item { width: 1; height: _margins; visible: rtkSectionLabel.visible }
QGCLabel {
id: rtkSectionLabel
text: qsTr("RTK GPS")
......@@ -883,8 +967,7 @@ Rectangle {
}
}
Item { width: 1; height: _margins }
Item { width: 1; height: _margins; visible: adsbSectionLabel.visible }
QGCLabel {
id: adsbSectionLabel
text: qsTr("ADSB Server")
......@@ -947,157 +1030,7 @@ Rectangle {
}
}
Item { width: 1; height: _margins }
QGCLabel {
id: videoSectionLabel
text: qsTr("Video")
visible: QGroundControl.settingsManager.videoSettings.visible && !QGroundControl.videoManager.autoStreamConfigured
}
Rectangle {
Layout.preferredWidth: videoGrid.width + (_margins * 2)
Layout.preferredHeight: videoGrid.height + (_margins * 2)
Layout.fillWidth: true
color: qgcPal.windowShade
visible: videoSectionLabel.visible
GridLayout {
id: videoGrid
anchors.margins: _margins
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
Layout.fillWidth: false
Layout.fillHeight: false
columns: 2
QGCLabel {
text: qsTr("Video Source")
visible: QGroundControl.settingsManager.videoSettings.videoSource.visible
}
FactComboBox {
id: videoSource
Layout.preferredWidth: _comboFieldWidth
indexModel: false
fact: QGroundControl.settingsManager.videoSettings.videoSource
visible: QGroundControl.settingsManager.videoSettings.videoSource.visible
}
QGCLabel {
text: qsTr("UDP Port")
visible: (_isUDP264 || _isUDP265 || _isMPEGTS) && QGroundControl.settingsManager.videoSettings.udpPort.visible
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: QGroundControl.settingsManager.videoSettings.udpPort
visible: (_isUDP264 || _isUDP265 || _isMPEGTS) && QGroundControl.settingsManager.videoSettings.udpPort.visible
}
QGCLabel {
text: qsTr("RTSP URL")
visible: _isRTSP && QGroundControl.settingsManager.videoSettings.rtspUrl.visible
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: QGroundControl.settingsManager.videoSettings.rtspUrl
visible: _isRTSP && QGroundControl.settingsManager.videoSettings.rtspUrl.visible
}
QGCLabel {
text: qsTr("TCP URL")
visible: _isTCP && QGroundControl.settingsManager.videoSettings.tcpUrl.visible
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: QGroundControl.settingsManager.videoSettings.tcpUrl
visible: _isTCP && QGroundControl.settingsManager.videoSettings.tcpUrl.visible
}
QGCLabel {
text: qsTr("Aspect Ratio")
visible: _isGst && QGroundControl.settingsManager.videoSettings.aspectRatio.visible
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: QGroundControl.settingsManager.videoSettings.aspectRatio
visible: _isGst && QGroundControl.settingsManager.videoSettings.aspectRatio.visible
}
QGCLabel {
text: qsTr("Disable When Disarmed")
visible: _isGst && QGroundControl.settingsManager.videoSettings.disableWhenDisarmed.visible
}
FactCheckBox {
text: ""
fact: QGroundControl.settingsManager.videoSettings.disableWhenDisarmed
visible: _isGst && QGroundControl.settingsManager.videoSettings.disableWhenDisarmed.visible
}
QGCLabel {
text: qsTr("Low Latency Mode")
visible: _isGst && QGroundControl.settingsManager.videoSettings.lowLatencyMode.visible
}
FactCheckBox {
text: ""
fact: QGroundControl.settingsManager.videoSettings.lowLatencyMode
visible: _isGst && QGroundControl.settingsManager.videoSettings.lowLatencyMode.visible
}
}
}
Item { width: 1; height: _margins }
QGCLabel {
id: videoRecSectionLabel
text: qsTr("Video Recording")
visible: (QGroundControl.settingsManager.videoSettings.visible && _isGst) || QGroundControl.videoManager.autoStreamConfigured
}
Rectangle {
Layout.preferredWidth: videoRecCol.width + (_margins * 2)
Layout.preferredHeight: videoRecCol.height + (_margins * 2)
Layout.fillWidth: true
color: qgcPal.windowShade
visible: videoRecSectionLabel.visible
GridLayout {
id: videoRecCol
anchors.margins: _margins
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
Layout.fillWidth: false
columns: 2
QGCLabel {
text: qsTr("Auto-Delete Files")
visible: QGroundControl.settingsManager.videoSettings.enableStorageLimit.visible
}
FactCheckBox {
text: ""
fact: QGroundControl.settingsManager.videoSettings.enableStorageLimit
visible: QGroundControl.settingsManager.videoSettings.enableStorageLimit.visible
}
QGCLabel {
text: qsTr("Max Storage Usage")
visible: QGroundControl.settingsManager.videoSettings.maxVideoSize.visible && QGroundControl.settingsManager.videoSettings.enableStorageLimit.value
}
FactTextField {
Layout.preferredWidth: _comboFieldWidth
fact: QGroundControl.settingsManager.videoSettings.maxVideoSize
visible: QGroundControl.settingsManager.videoSettings.maxVideoSize.visible && QGroundControl.settingsManager.videoSettings.enableStorageLimit.value
}
QGCLabel {
text: qsTr("Video File Format")
visible: QGroundControl.settingsManager.videoSettings.recordingFormat.visible
}
FactComboBox {
Layout.preferredWidth: _comboFieldWidth
fact: QGroundControl.settingsManager.videoSettings.recordingFormat
visible: QGroundControl.settingsManager.videoSettings.recordingFormat.visible
}
}
}
Item { width: 1; height: _margins; visible: videoRecSectionLabel.visible }
Item { width: 1; height: _margins; visible: brandImageSectionLabel.visible }
QGCLabel {
id: brandImageSectionLabel
text: qsTr("Brand Image")
......@@ -1174,7 +1107,6 @@ Rectangle {
}
Item { width: 1; height: _margins }
QGCLabel {
text: qsTr("%1 Version").arg(QGroundControl.appName)
Layout.alignment: Qt.AlignHCenter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment