|
|
@ -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 { |
|
|
|
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 { |
|
|
|
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 { |
|
|
|
} 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 { |
|
|
|
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 { |
|
|
|
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 { |
|
|
|
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 { |
|
|
|
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 { |
|
|
|
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 { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
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 { |
|
|
|
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 { |
|
|
|
|
|
|
|
|
|
|
|
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 { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
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 { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|