diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc index d00c76c0792eb9cde14763b89f54738afe43f6ec..9bf28ede744f4ccfc1b09f5e893fe7dec1b536b0 100644 --- a/qgroundcontrol.qrc +++ b/qgroundcontrol.qrc @@ -101,6 +101,7 @@ src/MissionEditor/RallyPointItemEditor.qml src/QmlControls/RCChannelMonitor.qml src/QmlControls/RoundButton.qml + src/MissionEditor/SectionHeader.qml src/AutoPilotPlugins/Common/SetupPage.qml src/ui/toolbar/SignalStrength.qml src/MissionEditor/SimpleItemMapVisual.qml diff --git a/src/FactSystem/FactControls/FactTextFieldGrid.qml b/src/FactSystem/FactControls/FactTextFieldGrid.qml index dee0c22368d071d8d020e48c1e27b1f41af8d4a5..6c27cfa5fd4d0e45d0f73bdbdee555e822eddb8c 100644 --- a/src/FactSystem/FactControls/FactTextFieldGrid.qml +++ b/src/FactSystem/FactControls/FactTextFieldGrid.qml @@ -5,7 +5,8 @@ import QGroundControl.FactSystem 1.0 import QGroundControl.Controls 1.0 GridLayout { - property var factList ///< List of Facts to show + property var factList ///< List of Facts to show + property var factLabels ///< Labels for facts, if not set, use Fact.name rows: factList.length flow: GridLayout.TopToBottom @@ -13,7 +14,7 @@ GridLayout { Repeater { model: parent.factList - QGCLabel { text: modelData.name + ":" } + QGCLabel { text: factLabels ? factLabels[index] : modelData.name } } Repeater { diff --git a/src/FirmwarePlugin/APM/MavCmdInfoCommon.json b/src/FirmwarePlugin/APM/MavCmdInfoCommon.json index 845b4cc51a4d7fd3b295b4b814712f8dca96efc7..e1fad86cac41327da0272204f35707f7d4153cea 100644 --- a/src/FirmwarePlugin/APM/MavCmdInfoCommon.json +++ b/src/FirmwarePlugin/APM/MavCmdInfoCommon.json @@ -38,7 +38,7 @@ "id": 181, "comment": "MAV_CMD_DO_SET_RELAY", "param2": { - "label": "Setting:", + "label": "Setting", "enumStrings": "On,Off", "enumValues": "1,0", "default": 1 @@ -54,19 +54,19 @@ "comment": "MAV_CMD_DO_MOUNT_CONTROL", "paramRemove": "7", "param1": { - "label": "Pitch:", + "label": "Pitch", "default": 0, "units": "deg", "decimalPlaces": 2 }, "param2": { - "label": "Roll:", + "label": "Roll", "default": 0, "units": "deg", "decimalPlaces": 2 }, "param3": { - "label": "Yaw:", + "label": "Yaw", "default": 0, "units": "deg", "decimalPlaces": 2 @@ -76,7 +76,7 @@ "id": 207, "comment": "MAV_CMD_DO_FENCE_ENABLE", "param1": { - "label": "Enable:", + "label": "Enable", "enumStrings": "Enable,Disable", "enumValues": "1,0", "default": 1 diff --git a/src/FirmwarePlugin/CameraMetaData.cc b/src/FirmwarePlugin/CameraMetaData.cc index bf865762ef6a8caab9240b99ca1e4c5957301866..0f75c6e218454a382624c72ac83b7e8265227811 100644 --- a/src/FirmwarePlugin/CameraMetaData.cc +++ b/src/FirmwarePlugin/CameraMetaData.cc @@ -15,6 +15,8 @@ CameraMetaData::CameraMetaData(const QString& name, double imageWidth, double imageHeight, double focalLength, + bool landscape, + bool fixedOrientation, QObject* parent) : QObject(parent) , _name(name) @@ -23,6 +25,8 @@ CameraMetaData::CameraMetaData(const QString& name, , _imageWidth(imageWidth) , _imageHeight(imageHeight) , _focalLength(focalLength) + , _landscape(landscape) + , _fixedOrientation(fixedOrientation) { } diff --git a/src/FirmwarePlugin/CameraMetaData.h b/src/FirmwarePlugin/CameraMetaData.h index 80b8e77288b0a73a9172b5a1d3e006f3dca6bdf1..1302ae453befa696ffde8fba644b56a2c7b3d809 100644 --- a/src/FirmwarePlugin/CameraMetaData.h +++ b/src/FirmwarePlugin/CameraMetaData.h @@ -24,14 +24,18 @@ public: double imageWidth, double imageHeight, double focalLength, + bool landscape, + bool fixedOrientation, QObject* parent = NULL); - Q_PROPERTY(QString name MEMBER _name CONSTANT) ///< Camera name - Q_PROPERTY(double sensorWidth MEMBER _sensorWidth CONSTANT) ///< Sensor size in millimeters - Q_PROPERTY(double sensorHeight MEMBER _sensorHeight CONSTANT) ///< Sensor size in millimeters - Q_PROPERTY(double imageWidth MEMBER _imageWidth CONSTANT) ///< Image size in pixels - Q_PROPERTY(double imageHeight MEMBER _imageHeight CONSTANT) ///< Image size in pixels - Q_PROPERTY(double focalLength MEMBER _focalLength CONSTANT) ///< Focal length in millimeters + Q_PROPERTY(QString name MEMBER _name CONSTANT) ///< Camera name + Q_PROPERTY(double sensorWidth MEMBER _sensorWidth CONSTANT) ///< Sensor size in millimeters + Q_PROPERTY(double sensorHeight MEMBER _sensorHeight CONSTANT) ///< Sensor size in millimeters + Q_PROPERTY(double imageWidth MEMBER _imageWidth CONSTANT) ///< Image size in pixels + Q_PROPERTY(double imageHeight MEMBER _imageHeight CONSTANT) ///< Image size in pixels + Q_PROPERTY(double focalLength MEMBER _focalLength CONSTANT) ///< Focal length in millimeters + Q_PROPERTY(bool landscape MEMBER _landscape CONSTANT) ///< true: camera is in landscape orientation + Q_PROPERTY(bool fixedOrientation MEMBER _fixedOrientation CONSTANT) ///< true: camera is in fixed orientation private: QString _name; @@ -40,6 +44,8 @@ private: double _imageWidth; double _imageHeight; double _focalLength; + bool _landscape; + bool _fixedOrientation; }; #endif diff --git a/src/FirmwarePlugin/FirmwarePlugin.cc b/src/FirmwarePlugin/FirmwarePlugin.cc index 87372a617b80a7f8c3aaa28750d87e5c247c1111..18c2d31a436d20194305df53d54825214e481fc3 100644 --- a/src/FirmwarePlugin/FirmwarePlugin.cc +++ b/src/FirmwarePlugin/FirmwarePlugin.cc @@ -363,21 +363,25 @@ const QVariantList& FirmwarePlugin::cameraList(const Vehicle* vehicle) if (_cameraList.size() == 0) { CameraMetaData* metaData; - metaData = new CameraMetaData(tr("Typhoon H CGO3+"), // Camera name - 6.264, // sensorWidth - 4.698, // sensorHeight - 4000, // imageWidth - 3000, // imageHeight - 14, // focalLength - this); // parent + metaData = new CameraMetaData(tr("Typhoon H CGO3+"), // Camera name + 6.264, // sensorWidth + 4.698, // sensorHeight + 4000, // imageWidth + 3000, // imageHeight + 14, // focalLength + true, // landscape orientation + true, // camera orientation is fixed + this); // parent _cameraList.append(QVariant::fromValue(metaData)); - metaData = new CameraMetaData(tr("Sony ILCE-QX1"), //http://www.sony.co.uk/electronics/interchangeable-lens-cameras/ilce-qx1-body-kit/specifications - 23.2, //http://www.sony.com/electronics/camera-lenses/sel16f28/specifications + metaData = new CameraMetaData(tr("Sony ILCE-QX1"), //http://www.sony.co.uk/electronics/interchangeable-lens-cameras/ilce-qx1-body-kit/specifications + 23.2, //http://www.sony.com/electronics/camera-lenses/sel16f28/specifications 15.4, 5456, 3632, 16, + true, + false, this); _cameraList.append(QVariant::fromValue(metaData)); @@ -387,6 +391,8 @@ const QVariantList& FirmwarePlugin::cameraList(const Vehicle* vehicle) 4000, 3000, 5.2, + true, + false, this); _cameraList.append(QVariant::fromValue(metaData)); @@ -396,6 +402,8 @@ const QVariantList& FirmwarePlugin::cameraList(const Vehicle* vehicle) 4000, 3000, 4.5, + true, + false, this); metaData = new CameraMetaData(tr("Canon EOS-M 22mm"), @@ -404,6 +412,8 @@ const QVariantList& FirmwarePlugin::cameraList(const Vehicle* vehicle) 5184, 3456, 22, + true, + false, this); _cameraList.append(QVariant::fromValue(metaData)); @@ -413,6 +423,8 @@ const QVariantList& FirmwarePlugin::cameraList(const Vehicle* vehicle) 6000, 4000, 16, + true, + false, this); _cameraList.append(QVariant::fromValue(metaData)); } diff --git a/src/FirmwarePlugin/PX4/MavCmdInfoFixedWing.json b/src/FirmwarePlugin/PX4/MavCmdInfoFixedWing.json index ebbc6516bd2c5efadd6c7ae5ffd4f3e686624b81..a7ee3f4c33aa47d299c7e4398091553de3ed8a76 100644 --- a/src/FirmwarePlugin/PX4/MavCmdInfoFixedWing.json +++ b/src/FirmwarePlugin/PX4/MavCmdInfoFixedWing.json @@ -9,7 +9,7 @@ "comment": "MAV_CMD_NAV_LAND", "paramRemove": "1,4", "param7": { - "label": "Altitude:", + "label": "Altitude", "units": "m", "default": 0, "decimalPlaces": 1 diff --git a/src/MissionEditor/FWLandingPatternEditor.qml b/src/MissionEditor/FWLandingPatternEditor.qml index fe0e35f104325f084facbc9e5d48648f234fbc19..b76e84408fa1a2dc0d6222a6a24fea4d7256f442 100644 --- a/src/MissionEditor/FWLandingPatternEditor.qml +++ b/src/MissionEditor/FWLandingPatternEditor.qml @@ -31,7 +31,7 @@ Rectangle { //property real availableWidth ///< Width for control //property var missionItem ///< Mission Item for editor - property real _margin: ScreenTools.defaultFontPixelWidth / 4 + property real _margin: ScreenTools.defaultFontPixelWidth / 2 property real _spacer: ScreenTools.defaultFontPixelWidth / 2 Column { @@ -51,14 +51,7 @@ Rectangle { Item { width: 1; height: _margin } - QGCLabel { text: qsTr("Loiter point") } - - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - height: 1 - color: qgcPal.text - } + SectionHeader { text: qsTr("Loiter point") } Item { width: 1; height: _spacer } @@ -89,14 +82,7 @@ Rectangle { Item { width: 1; height: ScreenTools.defaultFontPixelHeight / 2 } - QGCLabel { text: qsTr("Landing point") } - - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - height: 1 - color: qgcPal.text - } + SectionHeader { text: qsTr("Landing point") } Item { width: 1; height: _spacer } diff --git a/src/MissionEditor/MissionItemEditor.qml b/src/MissionEditor/MissionItemEditor.qml index 9463d72e4cdad364c2ea8476699d2575e266e0f6..64b4770da9daec3d8fd7d8e17d36d5a0c24c978b 100644 --- a/src/MissionEditor/MissionItemEditor.qml +++ b/src/MissionEditor/MissionItemEditor.qml @@ -29,6 +29,7 @@ Rectangle { property bool _currentItem: missionItem.isCurrentItem property color _outerTextColor: _currentItem ? "black" : qgcPal.text property bool _noMissionItemsAdded: ListView.view.model.count == 1 + property real _sectionSpacer: ScreenTools.defaultFontPixelWidth / 2 // spacing between section headings readonly property real _editFieldWidth: Math.min(width - _margin * 2, ScreenTools.defaultFontPixelWidth * 12) readonly property real _margin: ScreenTools.defaultFontPixelWidth / 2 diff --git a/src/MissionEditor/MissionSettingsEditor.qml b/src/MissionEditor/MissionSettingsEditor.qml index 96580dd20d977cf4f371c772f5e4b046ca9cf994..e353578a33c51664d1edd4a430b895b5c68a591a 100644 --- a/src/MissionEditor/MissionSettingsEditor.qml +++ b/src/MissionEditor/MissionSettingsEditor.qml @@ -42,8 +42,8 @@ Rectangle { property real _fieldWidth: ScreenTools.defaultFontPixelWidth * 16 property bool _mobile: ScreenTools.isMobile - readonly property string _firmwareLabel: qsTr("Firmware:") - readonly property string _vehicleLabel: qsTr("Vehicle:") + readonly property string _firmwareLabel: qsTr("Firmware") + readonly property string _vehicleLabel: qsTr("Vehicle") QGCPalette { id: qgcPal } @@ -54,14 +54,7 @@ Rectangle { anchors.top: parent.top spacing: _margin - QGCLabel { text: qsTr("Planned Home Position") } - - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - height: 1 - color: qgcPal.text - } + SectionHeader { text: qsTr("Planned Home Position") } Repeater { model: missionItem.textFieldFacts @@ -100,16 +93,14 @@ Rectangle { anchors.horizontalCenter: parent.horizontalCenter } - QGCLabel { - text: qsTr("Vehicle Info") - visible: _multipleFirmware + Item { + height: _sectionSpacer + width: 1 + visible: !ScreenTools.isTinyScreen } - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - height: 1 - color: qgcPal.text + SectionHeader { + text: qsTr("Vehicle Info") visible: _multipleFirmware } @@ -147,7 +138,7 @@ Rectangle { } QGCLabel { - text: qsTr("Cruise speed:") + text: qsTr("Cruise speed") visible: _showCruiseSpeed Layout.fillWidth: true } @@ -158,7 +149,7 @@ Rectangle { } QGCLabel { - text: qsTr("Hover speed:") + text: qsTr("Hover speed") visible: _showHoverSpeed Layout.fillWidth: true } @@ -174,7 +165,7 @@ Rectangle { anchors.right: parent.right spacing: _margin visible: !_multipleFirmware - QGCLabel { text: qsTr("Hover speed:"); Layout.fillWidth: true } + QGCLabel { text: qsTr("Hover speed"); Layout.fillWidth: true } FactTextField { Layout.preferredWidth: _fieldWidth fact: QGroundControl.settingsManager.appSettings.offlineEditingHoverSpeed diff --git a/src/MissionEditor/SectionHeader.qml b/src/MissionEditor/SectionHeader.qml new file mode 100644 index 0000000000000000000000000000000000000000..842b56c81ca8b071bffa01f91e596e1b573d7a54 --- /dev/null +++ b/src/MissionEditor/SectionHeader.qml @@ -0,0 +1,24 @@ +import QtQuick 2.3 +import QtQuick.Controls 1.2 +import QtQuick.Layouts 1.2 + +import QGroundControl.ScreenTools 1.0 +import QGroundControl.Palette 1.0 + +Column { + anchors.left: parent.left + anchors.right: parent.right + + property alias text: label.text + + QGCPalette { id: qgcPal; colorGroupEnabled: true } + + QGCLabel { id: label } + + Rectangle { + anchors.left: parent.left + anchors.right: parent.right + height: 1 + color: qgcPal.text + } +} diff --git a/src/MissionEditor/SurveyItemEditor.qml b/src/MissionEditor/SurveyItemEditor.qml index 438e4ea0c19af3a063921b17fde339695658f70e..76d14c62bc563734c2e3fa02dc8bab6ea008d806 100644 --- a/src/MissionEditor/SurveyItemEditor.qml +++ b/src/MissionEditor/SurveyItemEditor.qml @@ -23,7 +23,7 @@ Rectangle { //property real availableWidth ///< Width for control //property var missionItem ///< Mission Item for editor - property real _margin: ScreenTools.defaultFontPixelWidth * 0.25 + property real _margin: ScreenTools.defaultFontPixelWidth / 2 property int _cameraIndex: 1 property real _fieldWidth: ScreenTools.defaultFontPixelWidth * 10.5 property var _cameraList: [ qsTr("Manual Grid (no camera specs)"), qsTr("Custom Camera Grid") ] @@ -51,7 +51,9 @@ Rectangle { if (index == -1) { gridTypeCombo.currentIndex = _gridTypeManual } else { + var listIndex = index - _gridTypeCamera gridTypeCombo.currentIndex = index + missionItem.cameraOrientationFixed = _vehicleCameraList[listIndex].fixedOrientation } } } @@ -174,6 +176,8 @@ Rectangle { anchors.right: parent.right spacing: _margin + SectionHeader { text: qsTr("Camera") } + QGCComboBox { id: gridTypeCombo anchors.left: parent.left @@ -187,32 +191,25 @@ Rectangle { } else if (index == _gridTypeCustomCamera) { missionItem.manualGrid.value = false missionItem.camera.value = gridTypeCombo.textAt(index) + missionItem.cameraOrientationFixed = false } else { missionItem.manualGrid.value = false missionItem.camera.value = gridTypeCombo.textAt(index) _noCameraValueRecalc = true var listIndex = index - _gridTypeCamera - missionItem.cameraSensorWidth.rawValue = _vehicleCameraList[listIndex].sensorWidth - missionItem.cameraSensorHeight.rawValue = _vehicleCameraList[listIndex].sensorHeight - missionItem.cameraResolutionWidth.rawValue = _vehicleCameraList[listIndex].imageWidth - missionItem.cameraResolutionHeight.rawValue = _vehicleCameraList[listIndex].imageHeight - missionItem.cameraFocalLength.rawValue = _vehicleCameraList[listIndex].focalLength + missionItem.cameraSensorWidth.rawValue = _vehicleCameraList[listIndex].sensorWidth + missionItem.cameraSensorHeight.rawValue = _vehicleCameraList[listIndex].sensorHeight + missionItem.cameraResolutionWidth.rawValue = _vehicleCameraList[listIndex].imageWidth + missionItem.cameraResolutionHeight.rawValue = _vehicleCameraList[listIndex].imageHeight + missionItem.cameraFocalLength.rawValue = _vehicleCameraList[listIndex].focalLength + missionItem.cameraOrientationLandscape.rawValue = _vehicleCameraList[listIndex].landscape ? 1 : 0 + missionItem.cameraOrientationFixed = _vehicleCameraList[listIndex].fixedOrientation _noCameraValueRecalc = false recalcFromCameraValues() } } } - QGCLabel { text: qsTr("Camera"); visible: gridTypeCombo.currentIndex !== _gridTypeManual} - - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - height: 1 - color: qgcPal.text - visible: gridTypeCombo.currentIndex !== _gridTypeManual - } - // Camera based grid ui Column { anchors.left: parent.left @@ -221,8 +218,9 @@ Rectangle { visible: gridTypeCombo.currentIndex != _gridTypeManual Row { - spacing: _margin - anchors.horizontalCenter: parent.horizontalCenter + spacing: _margin + anchors.horizontalCenter: parent.horizontalCenter + visible: !missionItem.cameraOrientationFixed QGCRadioButton { width: _editFieldWidth @@ -267,7 +265,7 @@ Rectangle { anchors.left: parent.left anchors.right: parent.right spacing: _margin - QGCLabel { text: qsTr("Sensor:"); Layout.fillWidth: true } + QGCLabel { text: qsTr("Sensor"); Layout.fillWidth: true } FactTextField { Layout.preferredWidth: _root._fieldWidth fact: missionItem.cameraSensorWidth @@ -282,7 +280,7 @@ Rectangle { anchors.left: parent.left anchors.right: parent.right spacing: _margin - QGCLabel { text: qsTr("Image:"); Layout.fillWidth: true } + QGCLabel { text: qsTr("Image"); Layout.fillWidth: true } FactTextField { Layout.preferredWidth: _root._fieldWidth fact: missionItem.cameraResolutionWidth @@ -298,7 +296,7 @@ Rectangle { anchors.right: parent.right spacing: _margin QGCLabel { - text: missionItem.cameraFocalLength.name + ":" + text: qsTr("Focal length") Layout.fillWidth: true } FactTextField { @@ -328,7 +326,7 @@ Rectangle { anchors.left: parent.left anchors.right: parent.right spacing: _margin - QGCLabel { text: qsTr("Overlap:"); Layout.fillWidth: true } + QGCLabel { text: qsTr("Overlap"); Layout.fillWidth: true } FactTextField { Layout.preferredWidth: _root._fieldWidth fact: missionItem.frontalOverlap @@ -339,98 +337,63 @@ Rectangle { } } - QGCLabel { text: qsTr("Grid") } + Item { height: _sectionSpacer; width: 1; visible: !ScreenTools.isTinyScreen } - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - height: 1 - color: qgcPal.text - } + SectionHeader { text: qsTr("Grid") } - RowLayout { + GridLayout { anchors.left: parent.left anchors.right: parent.right - spacing: _margin - QGCLabel { - text: missionItem.gridAngle.name + ":" - Layout.fillWidth: true - anchors.verticalCenter: parent.verticalCenter - } + columnSpacing: _margin + rowSpacing: _margin + columns: 2 + + QGCLabel { text: qsTr("Angle") } FactTextField { - fact: missionItem.gridAngle - anchors.verticalCenter: parent.verticalCenter - Layout.preferredWidth: _root._fieldWidth + fact: missionItem.gridAngle + Layout.fillWidth: true } - } - RowLayout { - anchors.left: parent.left - anchors.right: parent.right - spacing: _margin - QGCLabel { - text: missionItem.turnaroundDist.name + ":" - Layout.fillWidth: true - anchors.verticalCenter: parent.verticalCenter - } + QGCLabel { text: qsTr("Turnaround dist") } FactTextField { fact: missionItem.turnaroundDist - anchors.verticalCenter: parent.verticalCenter - Layout.preferredWidth: _root._fieldWidth + Layout.fillWidth: true } - } - QGCLabel { - anchors.left: parent.left - anchors.right: parent.right - wrapMode: Text.WordWrap - font.pointSize: ScreenTools.smallFontPointSize - text: qsTr("Which value would you like to keep constant as you adjust other settings:") - } - - RowLayout { - anchors.left: parent.left - anchors.right: parent.right - spacing: _margin + QGCLabel { + wrapMode: Text.WordWrap + font.pointSize: ScreenTools.smallFontPointSize + text: qsTr("Which value would you like to keep constant as you adjust other settings") + Layout.preferredWidth: parent.width + Layout.columnSpan: 2 + } QGCRadioButton { id: fixedAltitudeRadio - text: qsTr("Altitude:") + text: qsTr("Altitude") checked: missionItem.fixedValueIsAltitude.value exclusiveGroup: fixedValueGroup onClicked: missionItem.fixedValueIsAltitude.value = 1 - Layout.fillWidth: true - anchors.verticalCenter: parent.verticalCenter } FactTextField { fact: missionItem.gridAltitude enabled: fixedAltitudeRadio.checked - Layout.preferredWidth: _root._fieldWidth - anchors.verticalCenter: parent.verticalCenter + Layout.fillWidth: true } - } - - RowLayout { - anchors.left: parent.left - anchors.right: parent.right - spacing: _margin QGCRadioButton { id: fixedGroundResolutionRadio - text: qsTr("Ground res:") + text: qsTr("Ground res") checked: !missionItem.fixedValueIsAltitude.value exclusiveGroup: fixedValueGroup onClicked: missionItem.fixedValueIsAltitude.value = 0 - Layout.fillWidth: true - anchors.verticalCenter: parent.verticalCenter } FactTextField { fact: missionItem.groundResolution enabled: fixedGroundResolutionRadio.checked - Layout.preferredWidth: _root._fieldWidth - anchors.verticalCenter: parent.verticalCenter + Layout.fillWidth: true } } } @@ -442,29 +405,29 @@ Rectangle { spacing: _margin visible: gridTypeCombo.currentIndex == _gridTypeManual - QGCLabel { text: qsTr("Grid") } + Item { height: _sectionSpacer; width: 1; visible: !ScreenTools.isTinyScreen } - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - height: 1 - color: qgcPal.text - } + SectionHeader { text: qsTr("Grid") } FactTextFieldGrid { anchors.left: parent.left anchors.right: parent.right - columnSpacing: _margin * 10 + columnSpacing: ScreenTools.defaultFontPixelWidth rowSpacing: _margin factList: [ missionItem.gridAngle, missionItem.gridSpacing, missionItem.gridAltitude, missionItem.turnaroundDist ] + factLabels: [ qsTr("Angle"), qsTr("Spacing"), qsTr("Altitude"), qsTr("Turnaround dist")] } + Item { height: _margin; width: 1; visible: !ScreenTools.isTinyScreen } + FactCheckBox { anchors.left: parent.left text: qsTr("Relative altitude") fact: missionItem.gridAltitudeRelative } + Item { height: _sectionSpacer; width: 1; visible: !ScreenTools.isTinyScreen } + QGCLabel { text: qsTr("Camera") } Rectangle { @@ -481,7 +444,7 @@ Rectangle { FactCheckBox { anchors.baseline: cameraTriggerDistanceField.baseline - text: qsTr("Trigger Distance:") + text: qsTr("Trigger Distance") fact: missionItem.cameraTrigger } @@ -494,14 +457,9 @@ Rectangle { } } - QGCLabel { text: qsTr("Polygon") } + Item { height: _sectionSpacer; width: 1; visible: !ScreenTools.isTinyScreen } - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - height: 1 - color: qgcPal.text - } + SectionHeader { text: qsTr("Polygon") } Row { spacing: ScreenTools.defaultFontPixelWidth @@ -537,26 +495,21 @@ Rectangle { } } - QGCLabel { text: qsTr("Statistics") } + Item { height: _sectionSpacer; width: 1; visible: !ScreenTools.isTinyScreen } - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - height: 1 - color: qgcPal.text - } + SectionHeader { text: qsTr("Statistics") } Grid { columns: 2 columnSpacing: ScreenTools.defaultFontPixelWidth - QGCLabel { text: qsTr("Survey area:") } + QGCLabel { text: qsTr("Survey area") } QGCLabel { text: QGroundControl.squareMetersToAppSettingsAreaUnits(missionItem.coveredArea).toFixed(2) + " " + QGroundControl.appSettingsAreaUnitsString } - QGCLabel { text: qsTr("Photo count:") } + QGCLabel { text: qsTr("Photo count") } QGCLabel { text: missionItem.cameraShots } - QGCLabel { text: qsTr("Photo interval:") } + QGCLabel { text: qsTr("Photo interval") } QGCLabel { text: { var timeVal = missionItem.timeBetweenShots diff --git a/src/MissionManager/MavCmdInfoCommon.json b/src/MissionManager/MavCmdInfoCommon.json index 61fa6204f61d672ed8c8e02cc328f6d910709651..6da634ecb5941a70d6ba4c2796d7534139250f9a 100644 --- a/src/MissionManager/MavCmdInfoCommon.json +++ b/src/MissionManager/MavCmdInfoCommon.json @@ -14,12 +14,12 @@ "friendlyEdit": true, "category": "Basic", "param5": { - "label": "Latitude:", + "label": "Latitude", "default": 37.803784, "decimalPlaces": 7 }, "param6": { - "label": "Longitude:", + "label": "Longitude", "default": -122.462276, "decimalPlaces": 7 } @@ -33,25 +33,25 @@ "friendlyEdit": true, "category": "Basic", "param1": { - "label": "Hold:", + "label": "Hold", "units": "secs", "default": 0, "decimalPlaces": 0 }, "param2": { - "label": "Acceptance:", + "label": "Acceptance", "units": "m", "default": 3, "decimalPlaces": 2 }, "param3": { - "label": "PassThru:", + "label": "PassThru", "units": "m", "default": 0, "decimalPlaces": 2 }, "param4": { - "label": "Heading:", + "label": "Heading", "units": "radians", "default": 0.0, "decimalPlaces": 2 @@ -66,7 +66,7 @@ "friendlyEdit": true, "category": "Loiter", "param3": { - "label": "Radius:", + "label": "Radius", "units": "m", "default": 50.0, "decimalPlaces": 2 @@ -81,18 +81,18 @@ "friendlyEdit": true, "category": "Loiter", "param1": { - "label": "Turns:", + "label": "Turns", "default": 1, "decimalPlaces": 0 }, "param3": { - "label": "Radius:", + "label": "Radius", "units": "m", "default": 50.0, "decimalPlaces": 2 }, "param4": { - "label": "Exit loiter from:", + "label": "Exit loiter from", "enumStrings": "Center,Tangent", "enumValues": "0,1", "default": 1, @@ -108,19 +108,19 @@ "friendlyEdit": true, "category": "Loiter", "param1": { - "label": "Hold:", + "label": "Hold", "units": "secs", "default": 30, "decimalPlaces": 0 }, "param3": { - "label": "Radius:", + "label": "Radius", "units": "m", "default": 50.0, "decimalPlaces": 2 }, "param4": { - "label": "Exit loiter from:", + "label": "Exit loiter from", "enumStrings": "Center,Tangent", "enumValues": "0,1", "default": 1, @@ -144,13 +144,13 @@ "friendlyEdit": true, "category": "Basic", "param1": { - "label": "Abort Alt:", + "label": "Abort Alt", "units": "m", "default": 25.0, "decimalPlaces": 2 }, "param4": { - "label": "Heading:", + "label": "Heading", "units": "radians", "default": 0.0, "decimalPlaces": 2 @@ -165,13 +165,13 @@ "friendlyEdit": true, "category": "Basic", "param1": { - "label": "Pitch:", + "label": "Pitch", "units": "deg", "default": 15, "decimalPlaces": 2 }, "param4": { - "label": "Heading:", + "label": "Heading", "units": "radians", "default": 0.0, "decimalPlaces": 2 @@ -189,14 +189,14 @@ "friendlyEdit": true, "category": "Flight control", "param1": { - "label": "Mode:", + "label": "Mode", "enumStrings": "Climb,Neutral,Descend", "enumValues": "1,0,2", "default": 1, "decimalPlaces": 0 }, "param7": { - "label": "Altitude:", + "label": "Altitude", "units": "m", "default": 55, "decimalPlaces": 2 @@ -211,20 +211,20 @@ "friendlyEdit": true, "category": "Loiter", "param1": { - "label": "Heading wait:", + "label": "Heading wait", "enumStrings": "False,True", "enumValues": "0,1", "default": 0, "decimalPlaces": 0 }, "param2": { - "label": "Radius:", + "label": "Radius", "units": "m", "default": 50.0, "decimalPlaces": 2 }, "param4": { - "label": "Exit loiter from:", + "label": "Exit loiter from", "enumStrings": "Center,Tangent", "enumValues": "0,1", "default": 1, @@ -243,19 +243,19 @@ "friendlyEdit": true, "category": "Camera", "param1": { - "label": "Mode:", + "label": "Mode", "enumStrings": "None,Next waypoint,Mission item,Location,ROI item", "enumValues": "0,1,2,3,4", "default": 3, "decimalPlaces": 0 }, "param2": { - "label": "Mission Index:", + "label": "Mission Index", "default": 0, "decimalPlaces": 0 }, "param3": { - "label": "ROI Index:", + "label": "ROI Index", "default": 0, "decimalPlaces": 0 } @@ -269,21 +269,21 @@ "friendlyEdit": true, "category": "Advanced", "param1": { - "label": "Local planning:", + "label": "Local planning", "enumStrings": "Disable,Enable,Enable+reset", "enumValues": "0,1,2", "default": 1, "decimalPlaces": 0 }, "param2": { - "label": "Full planning:", + "label": "Full planning", "enumStrings": "Disable,Enable,Enable+reset,Enable+reset route only", "enumValues": "0,1,2,3", "default": 1, "decimalPlaces": 0 }, "param4": { - "label": "Heading goal:", + "label": "Heading goal", "default": 0, "units": "deg", "decimalPlaces": 2 @@ -298,7 +298,7 @@ "friendlyEdit": true, "category": "Basic", "param1": { - "label": "Hold:", + "label": "Hold", "units": "secs", "default": 0, "decimalPlaces": 0 @@ -314,7 +314,7 @@ "friendlyEdit": true, "category": "VTOL", "param4": { - "label": "Heading:", + "label": "Heading", "units": "deg", "default": 0.0, "decimalPlaces": 2 @@ -329,7 +329,7 @@ "friendlyEdit": true, "category": "VTOL", "param4": { - "label": "Heading:", + "label": "Heading", "units": "deg", "default": 0.0, "decimalPlaces": 2 @@ -354,23 +354,23 @@ "friendlyName": "Delay until", "description": "Delay unti the specified time is reached.", "param1": { - "label": "Hold:", + "label": "Hold", "units": "secs", "default": 30, "decimalPlaces": 0 }, "param2": { - "label": "Hour (utc):", + "label": "Hour (utc)", "default": 0, "decimalPlaces": 0 }, "param3": { - "label": "Min (utc):", + "label": "Min (utc)", "default": 0, "decimalPlaces": 0 }, "param4": { - "label": "Sec (utc):", + "label": "Sec (utc)", "default": 0, "decimalPlaces": 0 } @@ -383,7 +383,7 @@ "friendlyEdit": true, "category": "Basic", "param1": { - "label": "Hold:", + "label": "Hold", "units": "secs", "default": 30, "decimalPlaces": 0 @@ -396,13 +396,13 @@ "friendlyName": "Wait for altitude", "category": "Conditionals", "param1": { - "label": "Rate:", + "label": "Rate", "units": "m/s", "default": 5, "decimalPlaces": 2 }, "param7": { - "label": "Altitude:", + "label": "Altitude", "units": "m", "default": 55, "decimalPlaces": 2 @@ -415,7 +415,7 @@ "friendlyName": "Wait for distance", "category": "Conditionals", "param1": { - "label": "Distance:", + "label": "Distance", "units": "m", "default": 10, "decimalPlaces": 2 @@ -428,25 +428,25 @@ "description": "Delay the mission until the specified heading is reached.", "category": "Conditionals", "param1": { - "label": "Heading:", + "label": "Heading", "units": "deg", "default": 0, "decimalPlaces": 1 }, "param2": { - "label": "Rate:", + "label": "Rate", "units": "degrees/s", "default": 5, "decimalPlaces": 1 }, "param3": { - "label": "Direction:", + "label": "Direction", "enumStrings": "Clockwise,Counter-Clockwise", "enumValues": "1,-1", "default": 1 }, "param4": { - "label": "Offset:", + "label": "Offset", "enumStrings": "Relative,Absolute", "enumValues": "1,0", "default": 1 @@ -460,17 +460,17 @@ "description": "Set flight mode.", "category": "Advanced", "param1": { - "label": "Mode:", + "label": "Mode", "default": 0, "decimalPlaces": 0 }, "param2": { - "label": "Custom Mode:", + "label": "Custom Mode", "default": 0, "decimalPlaces": 0 }, "param3": { - "label": "Sub Mode:", + "label": "Sub Mode", "default": 0, "decimalPlaces": 0 } @@ -483,12 +483,12 @@ "friendlyEdit": true, "category": "Advanced", "param1": { - "label": "Item #:", + "label": "Item #", "default": 1, "decimalPlaces": 0 }, "param2": { - "label": "Repeat:", + "label": "Repeat", "default": 10, "decimalPlaces": 0 } @@ -500,23 +500,23 @@ "description": "Change speed and/or throttle set points.", "category": "Flight control", "param1": { - "label": "Type:", + "label": "Type", "enumStrings": "Airspeed,Ground Speed", "enumValues": "0,1", "default": 0 }, "param2": { - "label": "Speed:", + "label": "Speed", "units": "m/s", "default": 0 }, "param3": { - "label": "Throttle:", + "label": "Throttle", "units": "%", "default": 0 }, "param4": { - "label": "Offset:", + "label": "Offset", "enumStrings": "Relative,Absolute", "enumValues": "1,0", "default": 0 @@ -532,7 +532,7 @@ "friendlyEdit": true, "category": "Advanced", "param1": { - "label": "Mode:", + "label": "Mode", "enumStrings": "Vehicle position,Specified position", "enumValues": "1,0", "default": 0 @@ -545,12 +545,12 @@ "friendlyName": "Set relay", "description": "Set relay to a condition.", "param1": { - "label": "Relay #:", + "label": "Relay #", "default": 0, "decimalPlaces": 0 }, "param2": { - "label": "Value:", + "label": "Value", "default": 0 } }, @@ -560,18 +560,18 @@ "friendlyName": "Cycle relay", "description": "Cycle relay on/off for desired cycles/time.", "param1": { - "label": "Relay #:", + "label": "Relay #", "default": 0, "decimalPlaces": 0 }, "param2": { - "label": "Cycles:", + "label": "Cycles", "default": 1, "units": "count", "decimalPlaces": 0 }, "param3": { - "label": "Time:", + "label": "Time", "default": 10, "units": "secs", "decimalPlaces": 0 @@ -584,12 +584,12 @@ "description": "Set servo to specified PWM value.", "friendlyEdit": true, "param1": { - "label": "Servo:", + "label": "Servo", "default": 1, "decimalPlaces": 0 }, "param2": { - "label": "PWM:", + "label": "PWM", "default": 1500, "decimalPlaces": 0 } @@ -600,23 +600,23 @@ "friendlyName": "Cycle servo", "description": "Set servo to specified PWM value.", "param1": { - "label": "Servo:", + "label": "Servo", "default": 1, "decimalPlaces": 0 }, "param2": { - "label": "PWM:", + "label": "PWM", "default": 1000, "decimalPlaces": 0 }, "param3": { - "label": "Cycles:", + "label": "Cycles", "default": 1, "units": "count", "decimalPlaces": 0 }, "param4": { - "label": "Time:", + "label": "Time", "default": 10, "units": "secs", "decimalPlaces": 0 @@ -643,7 +643,7 @@ "friendlyEdit": true, "category": "Advanced", "param1": { - "label": "Direction:", + "label": "Direction", "enumStrings": "Forward,Reverse", "enumValues": "0,1", "default": 0 @@ -660,19 +660,19 @@ "friendlyEdit": true, "category": "Camera", "param1": { - "label": "Mode:", + "label": "Mode", "enumStrings": "None,Next waypoint,Mission item,Location,ROI item", "enumValues": "0,1,2,3,4", "default": 3, "decimalPlaces": 0 }, "param2": { - "label": "Mission Index:", + "label": "Mission Index", "default": 0, "decimalPlaces": 0 }, "param3": { - "label": "ROI Index:", + "label": "ROI Index", "default": 0, "decimalPlaces": 0 } @@ -684,39 +684,39 @@ "description": "Configure onboard camera controller.", "category": "Camera", "param1": { - "label": "Mode:", + "label": "Mode", "default": 0, "decimalPlaces": 0 }, "param2": { - "label": "Shutter spd:", + "label": "Shutter spd", "default": 60, "units": "1/secs", "decimalPlaces": 0 }, "param3": { - "label": "Aperture:", + "label": "Aperture", "default": 4, "units": "F stop", "decimalPlaces": 1 }, "param4": { - "label": "ISO:", + "label": "ISO", "default": 200, "decimalPlaces": 0 }, "param5": { - "label": "Exposure:", + "label": "Exposure", "default": 0, "decimalPlaces": 0 }, "param6": { - "label": "Command:", + "label": "Command", "default": 0, "decimalPlaces": 0 }, "param7": { - "label": "Cut off:", + "label": "Cut off", "default": 0, "decimalPlaces": 2 } @@ -728,32 +728,32 @@ "description": "Control onboard camera.", "category": "Camera", "param1": { - "label": "Session:", + "label": "Session", "default": 0, "decimalPlaces": 0 }, "param2": { - "label": "Zoom:", + "label": "Zoom", "default": 0, "decimalPlaces": 3 }, "param3": { - "label": "Step:", + "label": "Step", "default": 0, "decimalPlaces": 3 }, "param4": { - "label": "Focus lock:", + "label": "Focus lock", "default": 0, "decimalPlaces": 0 }, "param5": { - "label": "Command:", + "label": "Command", "default": 0, "decimalPlaces": 0 }, "param6": { - "label": "Id:", + "label": "Id", "default": 0, "decimalPlaces": 0 } @@ -765,28 +765,28 @@ "description": "Configure the vehicle mount (e.g. gimbal).", "category": "Advanced", "param1": { - "label": "Mode:", + "label": "Mode", "default": 0, "decimalPlaces": 0, "enumStrings": "Retract,Neutral,Mavlink Targeting,RC Targeting,GPS Point", "enumValues": "0,1,2,3,4" }, "param2": { - "label": "Stabilize Roll:", + "label": "Stabilize Roll", "default": 0, "decimalPlaces": 0, "enumStrings": "No,Yes", "enumValues": "0,1" }, "param3": { - "label": "Stabilize Pitch:", + "label": "Stabilize Pitch", "default": 0, "decimalPlaces": 0, "enumStrings": "No,Yes", "enumValues": "0,1" }, "param4": { - "label": "Stabilize Yaw:", + "label": "Stabilize Yaw", "default": 0, "decimalPlaces": 0, "enumStrings": "No,Yes", @@ -800,24 +800,24 @@ "description": "Control the vehicle mount (e.g. gimbal).", "category": "Advanced", "param1": { - "label": "Lat/Pitch:", + "label": "Lat/Pitch", "default": 0, "units": "deg", "decimalPlaces": 7 }, "param2": { - "label": "Lon/Roll:", + "label": "Lon/Roll", "default": 0, "units": "deg", "decimalPlaces": 7 }, "param3": { - "label": "Alt/Yaw:", + "label": "Alt/Yaw", "default": 0, "decimalPlaces": 7 }, "param7": { - "label": "Mode:", + "label": "Mode", "default": 0, "decimalPlaces": 0, "enumStrings": "Retract,Neutral,Mavlink Targeting,RC Targeting,GPS Point", @@ -831,7 +831,7 @@ "description": "Set camera trigger distance.", "category": "Camera", "param1": { - "label": "Distance:", + "label": "Distance", "default": 25, "units": "m", "decimalPlaces": 2 @@ -846,7 +846,7 @@ "friendlyEdit": true, "category": "Safety", "param1": { - "label": "Enable:", + "label": "Enable", "enumStrings": "Disable,Disable floor only,Enable", "enumValues": "0,2,1", "default": 1, @@ -862,7 +862,7 @@ "friendlyEdit": true, "category": "Safety", "param1": { - "label": "Trigger:", + "label": "Trigger", "enumStrings": "Disable,Enable,Release", "enumValues": "0,1,2", "default": 1, @@ -879,7 +879,7 @@ "friendlyEdit": true, "category": "Flight control", "param1": { - "label": "Inverted:", + "label": "Inverted", "enumStrings": "Normal,Inverted", "enumValues": "0,1", "default": 0 @@ -894,12 +894,12 @@ "friendlyEdit": true, "category": "Advanced", "param1": { - "label": "Gripper id:", + "label": "Gripper id", "default": 1, "decimalPlaces": 0 }, "param2": { - "label": "Action:", + "label": "Action", "enumStrings": "Release,Grab", "enumValues": "0,1", "default": 0 @@ -914,7 +914,7 @@ "friendlyEdit": true, "category": "Advanced", "param2": { - "label": "Enable:", + "label": "Enable", "enumStrings": "Enable,Disable", "enumValues": "1,0", "default": 1 @@ -928,25 +928,25 @@ "friendlyName": "Guided limits", "description": "Set limits for external control", "param1": { - "label": "Timeout:", + "label": "Timeout", "default": 0, "units": "secs", "decimalPlaces": 0 }, "param2": { - "label": "Min Alt:", + "label": "Min Alt", "default": 25, "units": "m", "decimalPlaces": 2 }, "param3": { - "label": "Max Alt:", + "label": "Max Alt", "units": "m", "default": 100, "decimalPlaces": 2 }, "param4": { - "label": "H Limit:", + "label": "H Limit", "default": 25, "units": "m", "decimalPlaces": 2 @@ -978,7 +978,7 @@ "description": "Perform flight mode transition.", "category": "VTOL", "param1": { - "label": "Mode:", + "label": "Mode", "default": 3, "enumStrings": "Hover Mode,Plane Mode", "enumValues": "3,4" diff --git a/src/MissionManager/SimpleMissionItem.cc b/src/MissionManager/SimpleMissionItem.cc index d206a0595dfbcc6fdf598691dbe51b46e5f16e1d..775bf83a49a042d3becad0fe9798f5c81a674d32 100644 --- a/src/MissionManager/SimpleMissionItem.cc +++ b/src/MissionManager/SimpleMissionItem.cc @@ -343,25 +343,25 @@ QmlObjectListModel* SimpleMissionItem::textFieldFacts(void) QmlObjectListModel* model = new QmlObjectListModel(this); if (rawEdit()) { - _missionItem._param1Fact._setName("Param1:"); + _missionItem._param1Fact._setName("Param1"); _missionItem._param1Fact.setMetaData(_defaultParamMetaData); model->append(&_missionItem._param1Fact); - _missionItem._param2Fact._setName("Param2:"); + _missionItem._param2Fact._setName("Param2"); _missionItem._param2Fact.setMetaData(_defaultParamMetaData); model->append(&_missionItem._param2Fact); - _missionItem._param3Fact._setName("Param3:"); + _missionItem._param3Fact._setName("Param3"); _missionItem._param3Fact.setMetaData(_defaultParamMetaData); model->append(&_missionItem._param3Fact); - _missionItem._param4Fact._setName("Param4:"); + _missionItem._param4Fact._setName("Param4"); _missionItem._param4Fact.setMetaData(_defaultParamMetaData); model->append(&_missionItem._param4Fact); - _missionItem._param5Fact._setName("Lat/X:"); + _missionItem._param5Fact._setName("Lat/X"); _missionItem._param5Fact.setMetaData(_defaultParamMetaData); model->append(&_missionItem._param5Fact); - _missionItem._param6Fact._setName("Lon/Y:"); + _missionItem._param6Fact._setName("Lon/Y"); _missionItem._param6Fact.setMetaData(_defaultParamMetaData); model->append(&_missionItem._param6Fact); - _missionItem._param7Fact._setName("Alt/Z:"); + _missionItem._param7Fact._setName("Alt/Z"); _missionItem._param7Fact.setMetaData(_defaultParamMetaData); model->append(&_missionItem._param7Fact); } else { @@ -399,7 +399,7 @@ QmlObjectListModel* SimpleMissionItem::textFieldFacts(void) } if (specifiesCoordinate() && !altitudeAdded) { - _missionItem._param7Fact._setName("Altitude:"); + _missionItem._param7Fact._setName("Altitude"); _missionItem._param7Fact.setMetaData(_altitudeMetaData); model->append(&_missionItem._param7Fact); } diff --git a/src/MissionManager/SurveyMissionItem.cc b/src/MissionManager/SurveyMissionItem.cc index c66f3456d9e3c898a36bbe611f8a9a98cf3a4f9a..328621a7f6ec06877d377e2422934534842c5533 100644 --- a/src/MissionManager/SurveyMissionItem.cc +++ b/src/MissionManager/SurveyMissionItem.cc @@ -68,6 +68,7 @@ SurveyMissionItem::SurveyMissionItem(Vehicle* vehicle, QObject* parent) : ComplexMissionItem(vehicle, parent) , _sequenceNumber(0) , _dirty(false) + , _cameraOrientationFixed(false) , _surveyDistance(0.0) , _cameraShots(0) , _coveredArea(0.0) diff --git a/src/MissionManager/SurveyMissionItem.h b/src/MissionManager/SurveyMissionItem.h index cb00ec5ced6094f72dcccf4ea60bd47920c585b0..713b02e4c381330ce947427b9a5071e52bfbc696 100644 --- a/src/MissionManager/SurveyMissionItem.h +++ b/src/MissionManager/SurveyMissionItem.h @@ -45,6 +45,8 @@ public: Q_PROPERTY(Fact* manualGrid READ manualGrid CONSTANT) Q_PROPERTY(Fact* camera READ camera CONSTANT) + Q_PROPERTY(bool cameraOrientationFixed MEMBER _cameraOrientationFixed NOTIFY cameraOrientationFixedChanged) + Q_PROPERTY(double timeBetweenShots READ timeBetweenShots NOTIFY timeBetweenShotsChanged) Q_PROPERTY(QVariantList polygonPath READ polygonPath NOTIFY polygonPathChanged) Q_PROPERTY(QVariantList gridPoints READ gridPoints NOTIFY gridPointsChanged) @@ -141,13 +143,14 @@ public: static const char* cameraName; signals: - void polygonPathChanged (void); - void gridPointsChanged (void); - void cameraShotsChanged (int cameraShots); - void coveredAreaChanged (double coveredArea); - void cameraValueChanged (void); - void gridTypeChanged (QString gridType); - void timeBetweenShotsChanged (void); + void polygonPathChanged (void); + void gridPointsChanged (void); + void cameraShotsChanged (int cameraShots); + void coveredAreaChanged (double coveredArea); + void cameraValueChanged (void); + void gridTypeChanged (QString gridType); + void timeBetweenShotsChanged (void); + void cameraOrientationFixedChanged (bool cameraOrientationFixed); private slots: void _cameraTriggerChanged(void); @@ -174,7 +177,7 @@ private: QVariantList _gridPoints; QGeoCoordinate _coordinate; QGeoCoordinate _exitCoordinate; - double _altitude; + bool _cameraOrientationFixed; double _surveyDistance; int _cameraShots; diff --git a/src/QmlControls/QGroundControl.Controls.qmldir b/src/QmlControls/QGroundControl.Controls.qmldir index dd491b5f439c46ea30f69a73230ea211a8bffccd..b4fbe4801d450aebcb425c81c7d8f8abbb626599 100644 --- a/src/QmlControls/QGroundControl.Controls.qmldir +++ b/src/QmlControls/QGroundControl.Controls.qmldir @@ -49,6 +49,7 @@ QGCViewDialog 1.0 QGCViewDialog.qml QGCViewMessage 1.0 QGCViewMessage.qml QGCViewPanel 1.0 QGCViewPanel.qml RoundButton 1.0 RoundButton.qml +SectionHeader 1.0 SectionHeader.qml SetupPage 1.0 SetupPage.qml SignalStrength 1.0 SignalStrength.qml SimpleItemMapVisuals 1.0 SimpleItemMapVisuals.qml