diff --git a/src/PlanView/MissionItemStatus.qml b/src/PlanView/MissionItemStatus.qml index 596d886b368d36dfc0f1f1803dab6a16ba9a6d8a..e5a2dd74599ea44fb0ed3024a0381fcbcdbd6b22 100644 --- a/src/PlanView/MissionItemStatus.qml +++ b/src/PlanView/MissionItemStatus.qml @@ -31,7 +31,7 @@ Rectangle { readonly property real _margins: ScreenTools.defaultFontPixelWidth onMaxWidthChanged: { - var calcLength = (statusListView.count + 1)*statusListView.contentItem.children[0].width + var calcLength = (statusListView.count + 1) * (statusListView.count ? statusListView.contentItem.children[0].width : 1) root.width = root.maxWidth > calcLength ? calcLength : root.maxWidth } @@ -63,7 +63,7 @@ Rectangle { currentIndex: _missionController.currentPlanViewIndex onCountChanged: { - var calcLength = (statusListView.count + 1)*statusListView.contentItem.children[0].width + var calcLength = (statusListView.count + 1) * (statusListView.count ? statusListView.contentItem.children[0].width : 1) root.width = root.maxWidth > calcLength ? calcLength : root.maxWidth } diff --git a/src/PlanView/MissionSettingsEditor.qml b/src/PlanView/MissionSettingsEditor.qml index 706fb4939b2e70f939edca4d6d0f731cac97d656..544fa893fa6c4013a19b8f1dcfa4407a19695859 100644 --- a/src/PlanView/MissionSettingsEditor.qml +++ b/src/PlanView/MissionSettingsEditor.qml @@ -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 { 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 { 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