Commit 59c8eaa3 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #4759 from DonLakeFlyer/PlanTweaks

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