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
...@@ -38,23 +38,27 @@ Rectangle { ...@@ -38,23 +38,27 @@ Rectangle {
property Fact _virtualJoystick: QGroundControl.settingsManager.appSettings.virtualJoystick property Fact _virtualJoystick: QGroundControl.settingsManager.appSettings.virtualJoystick
property Fact _virtualJoystickAutoCenterThrottle: QGroundControl.settingsManager.appSettings.virtualJoystickAutoCenterThrottle property Fact _virtualJoystickAutoCenterThrottle: QGroundControl.settingsManager.appSettings.virtualJoystickAutoCenterThrottle
property real _labelWidth: ScreenTools.defaultFontPixelWidth * 20 property real _labelWidth: ScreenTools.defaultFontPixelWidth * 20
property real _comboFieldWidth: ScreenTools.defaultFontPixelWidth * 30 property real _comboFieldWidth: ScreenTools.defaultFontPixelWidth * 30
property real _valueFieldWidth: ScreenTools.defaultFontPixelWidth * 10 property real _valueFieldWidth: ScreenTools.defaultFontPixelWidth * 10
property string _mapProvider: QGroundControl.settingsManager.flightMapSettings.mapProvider.value property string _mapProvider: QGroundControl.settingsManager.flightMapSettings.mapProvider.value
property string _mapType: QGroundControl.settingsManager.flightMapSettings.mapType.value property string _mapType: QGroundControl.settingsManager.flightMapSettings.mapType.value
property Fact _followTarget: QGroundControl.settingsManager.appSettings.followTarget property Fact _followTarget: QGroundControl.settingsManager.appSettings.followTarget
property real _panelWidth: _root.width * _internalWidthRatio property real _panelWidth: _root.width * _internalWidthRatio
property real _margins: ScreenTools.defaultFontPixelWidth property real _margins: ScreenTools.defaultFontPixelWidth
property var _planViewSettings: QGroundControl.settingsManager.planViewSettings property var _planViewSettings: QGroundControl.settingsManager.planViewSettings
property var _flyViewSettings: QGroundControl.settingsManager.flyViewSettings
property string _videoSource: QGroundControl.settingsManager.videoSettings.videoSource.value property var _videoSettings: QGroundControl.settingsManager.videoSettings
property string _videoSource: _videoSettings.videoSource.value
property bool _isGst: QGroundControl.videoManager.isGStreamer property bool _isGst: QGroundControl.videoManager.isGStreamer
property bool _isUDP264: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.udp264VideoSource property bool _isUDP264: _isGst && _videoSource === _videoSettings.udp264VideoSource
property bool _isUDP265: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.udp265VideoSource property bool _isUDP265: _isGst && _videoSource === _videoSettings.udp265VideoSource
property bool _isRTSP: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.rtspVideoSource property bool _isRTSP: _isGst && _videoSource === _videoSettings.rtspVideoSource
property bool _isTCP: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.tcpVideoSource property bool _isTCP: _isGst && _videoSource === _videoSettings.tcpVideoSource
property bool _isMPEGTS: _isGst && _videoSource === QGroundControl.settingsManager.videoSettings.mpegtsVideoSource 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 gpsDisabled: "Disabled"
property string gpsUdpPort: "UDP Port" property string gpsUdpPort: "UDP Port"
...@@ -69,13 +73,306 @@ Rectangle { ...@@ -69,13 +73,306 @@ Rectangle {
Item { Item {
id: outerItem id: outerItem
width: Math.max(_root.width, settingsColumn.width) width: Math.max(_root.width, settingsColumn.width)
height: settingsColumn.height height: settingsColumn.height
ColumnLayout { ColumnLayout {
id: settingsColumn id: settingsColumn
anchors.horizontalCenter: parent.horizontalCenter 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 { QGCLabel {
id: unitsSectionLabel id: unitsSectionLabel
text: qsTr("Units") text: qsTr("Units")
...@@ -112,8 +409,7 @@ Rectangle { ...@@ -112,8 +409,7 @@ Rectangle {
} }
} }
Item { width: 1; height: _margins } Item { width: 1; height: _margins; visible: miscSectionLabel.visible }
QGCLabel { QGCLabel {
id: miscSectionLabel id: miscSectionLabel
text: qsTr("Miscellaneous") text: qsTr("Miscellaneous")
...@@ -376,40 +672,9 @@ Rectangle { ...@@ -376,40 +672,9 @@ Rectangle {
} }
} }
Item { width: 1; height: _margins } Item { width: 1; height: _margins; visible: telemetryLogSectionLabel.visible }
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 { QGCLabel {
id: telemetryLogSectionLabel
text: qsTr("Telemetry Logs from Vehicle") text: qsTr("Telemetry Logs from Vehicle")
visible: telemetryRect.visible visible: telemetryRect.visible
} }
...@@ -431,7 +696,7 @@ Rectangle { ...@@ -431,7 +696,7 @@ Rectangle {
text: qsTr("Save log after each flight") text: qsTr("Save log after each flight")
fact: _telemetrySave fact: _telemetrySave
visible: _telemetrySave.visible visible: _telemetrySave.visible
enabled: !disableDataPersistence.checked enabled: !_disableAllDataPersistence
property Fact _telemetrySave: QGroundControl.settingsManager.appSettings.telemetrySave property Fact _telemetrySave: QGroundControl.settingsManager.appSettings.telemetrySave
} }
FactCheckBox { FactCheckBox {
...@@ -439,7 +704,7 @@ Rectangle { ...@@ -439,7 +704,7 @@ Rectangle {
text: qsTr("Save logs even if vehicle was not armed") text: qsTr("Save logs even if vehicle was not armed")
fact: _telemetrySaveNotArmed fact: _telemetrySaveNotArmed
visible: _telemetrySaveNotArmed.visible visible: _telemetrySaveNotArmed.visible
enabled: promptSaveLog.checked && !disableDataPersistence.checked enabled: promptSaveLog.checked && !_disableAllDataPersistence
property Fact _telemetrySaveNotArmed: QGroundControl.settingsManager.appSettings.telemetrySaveNotArmed property Fact _telemetrySaveNotArmed: QGroundControl.settingsManager.appSettings.telemetrySaveNotArmed
} }
FactCheckBox { FactCheckBox {
...@@ -447,193 +712,13 @@ Rectangle { ...@@ -447,193 +712,13 @@ Rectangle {
text: qsTr("Save CSV log of telemetry data") text: qsTr("Save CSV log of telemetry data")
fact: _saveCsvTelemetry fact: _saveCsvTelemetry
visible: _saveCsvTelemetry.visible visible: _saveCsvTelemetry.visible
enabled: !disableDataPersistence.checked enabled: !_disableAllDataPersistence
property Fact _saveCsvTelemetry: QGroundControl.settingsManager.appSettings.saveCsvTelemetry property Fact _saveCsvTelemetry: QGroundControl.settingsManager.appSettings.saveCsvTelemetry
} }
} }
} }
Item { width: 1; height: _margins } Item { width: 1; height: _margins; visible: autoConnectSectionLabel.visible }
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
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
}
FactTextField {
Layout.preferredWidth: _valueFieldWidth
visible: parent._guidedMinimumAltitude.visible
fact: parent._guidedMinimumAltitude
}
QGCLabel {
text: qsTr("Guided Maximum Altitude")
visible: parent._guidedMaximumAltitude.visible
}
FactTextField {
Layout.preferredWidth: _valueFieldWidth
visible: parent._guidedMaximumAltitude.visible
fact: parent._guidedMaximumAltitude
}
QGCLabel {
text: qsTr("Go To Location Max Distance")
visible: parent._maxGoToLocationDistance.visible
}
FactTextField {
Layout.preferredWidth: _valueFieldWidth
visible: parent._maxGoToLocationDistance.visible
fact: parent._maxGoToLocationDistance
}
}
}
}
Item { width: 1; height: _margins }
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 }
QGCLabel { QGCLabel {
id: autoConnectSectionLabel id: autoConnectSectionLabel
text: qsTr("AutoConnect to the following devices") text: qsTr("AutoConnect to the following devices")
...@@ -748,8 +833,7 @@ Rectangle { ...@@ -748,8 +833,7 @@ Rectangle {
} }
} }
Item { width: 1; height: _margins } Item { width: 1; height: _margins; visible: rtkSectionLabel.visible }
QGCLabel { QGCLabel {
id: rtkSectionLabel id: rtkSectionLabel
text: qsTr("RTK GPS") text: qsTr("RTK GPS")
...@@ -883,8 +967,7 @@ Rectangle { ...@@ -883,8 +967,7 @@ Rectangle {
} }
} }
Item { width: 1; height: _margins } Item { width: 1; height: _margins; visible: adsbSectionLabel.visible }
QGCLabel { QGCLabel {
id: adsbSectionLabel id: adsbSectionLabel
text: qsTr("ADSB Server") text: qsTr("ADSB Server")
...@@ -947,157 +1030,7 @@ Rectangle { ...@@ -947,157 +1030,7 @@ Rectangle {
} }
} }
Item { width: 1; height: _margins } Item { width: 1; height: _margins; visible: brandImageSectionLabel.visible }
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 }
QGCLabel { QGCLabel {
id: brandImageSectionLabel id: brandImageSectionLabel
text: qsTr("Brand Image") text: qsTr("Brand Image")
...@@ -1174,7 +1107,6 @@ Rectangle { ...@@ -1174,7 +1107,6 @@ Rectangle {
} }
Item { width: 1; height: _margins } Item { width: 1; height: _margins }
QGCLabel { QGCLabel {
text: qsTr("%1 Version").arg(QGroundControl.appName) text: qsTr("%1 Version").arg(QGroundControl.appName)
Layout.alignment: Qt.AlignHCenter 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