diff --git a/ios/iOS-Info.plist b/ios/iOS-Info.plist
index 1343e18ee0c8f1224bdf0985a8cde51f8aaf7674..a7bde7a2ae5a6ef0e02debe7660e0fcd142bf562 100644
--- a/ios/iOS-Info.plist
+++ b/ios/iOS-Info.plist
@@ -2,85 +2,87 @@
- CFBundleDisplayName
- QGroundControl
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- NSHumanReadableCopyright
- Open Source Flight Systems GmbH - Internal Build
- CFBundleIconFile
-
- CFBundleIdentifier
- org.QGroundControl.qgc
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 0.0.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1
- LSRequiresIPhoneOS
-
- UILaunchStoryboardName
- QGCLaunchScreen
- UIRequiresFullScreen
-
- CFBundleInfoDictionaryVersion
- 6.0
- ForAppStore
- No
- NSLocationUsageDescription
- Ground Station Location
- NSLocationWhenInUseUsageDescription
- Ground Station Location
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- CFBundleIcons
-
- CFBundlePrimaryIcon
-
- CFBundleIconFiles
-
- AppIcon29x29.png
- AppIcon29x29@2x.png
- AppIcon40x40@2x.png
- AppIcon57x57.png
- AppIcon57x57@2x.png
- AppIcon60x60@2x.png
-
-
-
- CFBundleIcons~ipad
-
- CFBundlePrimaryIcon
-
- CFBundleIconFiles
-
- AppIcon29x29.png
- AppIcon29x29@2x.png
- AppIcon40x40@2x.png
- AppIcon57x57.png
- AppIcon57x57@2x.png
- AppIcon60x60@2x.png
- AppIcon29x29~ipad.png
- AppIcon29x29@2x~ipad.png
- AppIcon40x40~ipad.png
- AppIcon40x40@2x~ipad.png
- AppIcon50x50~ipad.png
- AppIcon50x50@2x~ipad.png
- AppIcon72x72~ipad.png
- AppIcon72x72@2x~ipad.png
- AppIcon76x76~ipad.png
- AppIcon76x76@2x~ipad.png
- AppIcon83.5x83.5@2x~ipad.png
-
-
-
+ NSCameraUsageDescription
+ QGC uses UVC devices for video streaming.
+ CFBundleDisplayName
+ QGroundControl
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ NSHumanReadableCopyright
+ Open Source Flight Systems GmbH - Internal Build
+ CFBundleIconFile
+
+ CFBundleIdentifier
+ org.QGroundControl.qgc
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 0.0.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+ LSRequiresIPhoneOS
+
+ UILaunchStoryboardName
+ QGCLaunchScreen
+ UIRequiresFullScreen
+
+ CFBundleInfoDictionaryVersion
+ 6.0
+ ForAppStore
+ No
+ NSLocationUsageDescription
+ Ground Station Location
+ NSLocationWhenInUseUsageDescription
+ Ground Station Location
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ CFBundleIcons
+
+ CFBundlePrimaryIcon
+
+ CFBundleIconFiles
+
+ AppIcon29x29.png
+ AppIcon29x29@2x.png
+ AppIcon40x40@2x.png
+ AppIcon57x57.png
+ AppIcon57x57@2x.png
+ AppIcon60x60@2x.png
+
+
+
+ CFBundleIcons~ipad
+
+ CFBundlePrimaryIcon
+
+ CFBundleIconFiles
+
+ AppIcon29x29.png
+ AppIcon29x29@2x.png
+ AppIcon40x40@2x.png
+ AppIcon57x57.png
+ AppIcon57x57@2x.png
+ AppIcon60x60@2x.png
+ AppIcon29x29~ipad.png
+ AppIcon29x29@2x~ipad.png
+ AppIcon40x40~ipad.png
+ AppIcon40x40@2x~ipad.png
+ AppIcon50x50~ipad.png
+ AppIcon50x50@2x~ipad.png
+ AppIcon72x72~ipad.png
+ AppIcon72x72@2x~ipad.png
+ AppIcon76x76~ipad.png
+ AppIcon76x76@2x~ipad.png
+ AppIcon83.5x83.5@2x~ipad.png
+
+
+
diff --git a/src/FactSystem/FactControls/FactTextField.qml b/src/FactSystem/FactControls/FactTextField.qml
index bf0b4f956cbbc83a36ef85c99584bd20716e84bf..dc9315a86f0cc2cd647859baf9446c73f132539f 100644
--- a/src/FactSystem/FactControls/FactTextField.qml
+++ b/src/FactSystem/FactControls/FactTextField.qml
@@ -40,7 +40,7 @@ QGCTextField {
}
}
- onHelpClicked: qgcView.showDialog(helpDialogComponent, qsTr("Value Details"), qgcView.showDialogDefaultWidth, StandardButton.Save)
+ onHelpClicked: qgcView.showDialog(helpDialogComponent, qsTr("Value Details"), qgcView.showDialogDefaultWidth, StandardButton.Save | StandardButton.Cancel)
Component {
diff --git a/src/QmlControls/ParameterEditorDialog.qml b/src/QmlControls/ParameterEditorDialog.qml
index 7270ede46c340794621628b03ed6e1adb0f144b8..41b8966e383d12b29eee821d6bf70977b4a6865d 100644
--- a/src/QmlControls/ParameterEditorDialog.qml
+++ b/src/QmlControls/ParameterEditorDialog.qml
@@ -7,12 +7,9 @@
*
****************************************************************************/
-
-/// @file
-/// @author Don Gagne
-
import QtQuick 2.5
import QtQuick.Controls 1.3
+import QtQuick.Layouts 1.2
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
@@ -29,7 +26,8 @@ QGCViewDialog {
property bool validate: false
property string validateValue
- property real _editFieldWidth: ScreenTools.defaultFontPixelWidth * 20
+ property real _editFieldWidth: ScreenTools.defaultFontPixelWidth * 20
+ property bool _longDescriptionAvailable: fact.longDescription != ""
ParameterEditorController { id: controller; factPanel: parent }
@@ -68,7 +66,6 @@ QGCViewDialog {
validationError.text = fact.validate(validateValue, false /* convertOnly */)
forceSave.visible = true
}
- //valueField.forceActiveFocus()
}
QGCFlickable {
@@ -83,28 +80,24 @@ QGCViewDialog {
anchors.right: parent.right
QGCLabel {
+ id: validationError
width: parent.width
wrapMode: Text.WordWrap
- visible: fact.shortDescription
- text: fact.shortDescription
- }
-
- QGCLabel {
- width: parent.width
- wrapMode: Text.WordWrap
- visible: fact.longDescription
- text: fact.longDescription
+ color: qgcPal.warningText
}
- Row {
- spacing: defaultTextWidth
+ RowLayout {
+ spacing: defaultTextWidth
+ anchors.left: parent.left
+ anchors.right: parent.right
QGCTextField {
- id: valueField
- text: validate ? validateValue : fact.valueString
- visible: fact.enumStrings.length == 0 || validate
- //focus: true
-
+ id: valueField
+ text: validate ? validateValue : fact.valueString
+ visible: fact.enumStrings.length == 0 || validate
+ unitsLabel: fact.units
+ showUnits: fact.units != ""
+ Layout.fillWidth: true
inputMethodHints: ScreenTools.isiOS ?
Qt.ImhNone : // iOS numeric keyboard has not done button, we can't use it
Qt.ImhFormattedNumbersOnly // Forces use of virtual numeric keyboard
@@ -113,7 +106,6 @@ QGCViewDialog {
QGCButton {
anchors.baseline: valueField.baseline
visible: fact.defaultValueAvailable
- width: _editFieldWidth
text: qsTr("Reset to default")
onClicked: {
@@ -159,63 +151,55 @@ QGCViewDialog {
}
QGCLabel {
- text: fact.name
- visible: fact.componentId > 0 // > 0 means it's a parameter fact
+ width: parent.width
+ wrapMode: Text.WordWrap
+ visible: !longDescriptionLabel.visible
+ text: fact.shortDescription
}
- Column {
- spacing: defaultTextHeight / 2
- anchors.left: parent.left
- anchors.right: parent.right
-
- Row {
- spacing: defaultTextWidth
-
- QGCLabel { text: qsTr("Units:") }
- QGCLabel { text: fact.units ? fact.units : qsTr("none") }
- }
-
- Row {
- spacing: defaultTextWidth
- visible: !fact.minIsDefaultForType
-
- QGCLabel { text: qsTr("Minimum value:") }
- QGCLabel { text: fact.minString }
- }
+ QGCLabel {
+ id: longDescriptionLabel
+ width: parent.width
+ wrapMode: Text.WordWrap
+ visible: fact.longDescription != ""
+ text: fact.longDescription
+ }
- Row {
- spacing: defaultTextWidth
- visible: !fact.maxIsDefaultForType
+ Row {
+ spacing: defaultTextWidth
- QGCLabel { text: qsTr("Maximum value:") }
- QGCLabel { text: fact.maxString }
+ QGCLabel {
+ id: minValueDisplay
+ text: qsTr("Min: ") + fact.minString
+ visible: !fact.minIsDefaultForType
}
- Row {
- spacing: defaultTextWidth
-
- QGCLabel { text: qsTr("Default value:") }
- QGCLabel { text: fact.defaultValueAvailable ? fact.defaultValueString : qsTr("none") }
+ QGCLabel {
+ text: qsTr("Max: ") + fact.maxString
+ visible: !fact.maxIsDefaultForType
}
QGCLabel {
- visible: fact.rebootRequired
- text: "Reboot required after change"
+ text: qsTr("Default: ") + fact.defaultValueString
+ visible: fact.defaultValueAvailable
}
- } // Column
+ }
QGCLabel {
- width: parent.width
- wrapMode: Text.WordWrap
- text: qsTr("Warning: Modifying values while vehicle is in flight can lead to vehicle instability and possible vehicle loss. ") +
- qsTr("Make sure you know what you are doing and double-check your values before Save!")
+ text: qsTr("Parameter name: ") + fact.name
+ visible: fact.componentId > 0 // > 0 means it's a parameter fact
+ }
+
+ QGCLabel {
+ visible: fact.rebootRequired
+ text: "Reboot required after change"
}
QGCLabel {
- id: validationError
width: parent.width
wrapMode: Text.WordWrap
- color: qsTr("yellow")
+ text: qsTr("Warning: Modifying values while vehicle is in flight can lead to vehicle instability and possible vehicle loss. ") +
+ qsTr("Make sure you know what you are doing and double-check your values before Save!")
}
QGCCheckBox {
diff --git a/src/QmlControls/QGCFlickable.qml b/src/QmlControls/QGCFlickable.qml
index 80a7e034677d70a3cc84575b3b4f57b67d2354af..c3a7dfdd5b5e988afaa9b9d538547fd2b48cf4d0 100644
--- a/src/QmlControls/QGCFlickable.qml
+++ b/src/QmlControls/QGCFlickable.qml
@@ -6,6 +6,7 @@ import QGroundControl.Palette 1.0
Flickable {
id: root
boundsBehavior: Flickable.StopAtBounds
+ clip: true
property color indicatorColor: qgcPal.text
diff --git a/src/QmlControls/QGCTextField.qml b/src/QmlControls/QGCTextField.qml
index 732bc35619a632056840d5a48a9224b54a928be0..6542d290b1dc62d244167320a81449a89d04751d 100644
--- a/src/QmlControls/QGCTextField.qml
+++ b/src/QmlControls/QGCTextField.qml
@@ -97,9 +97,10 @@ TextField {
}
MouseArea {
- anchors.fill: unitsHelpLayout
- enabled: control.activeFocus
- onClicked: root.helpClicked()
+ anchors.margins: ScreenTools.isMobile ? -(ScreenTools.defaultFontPixelWidth * 0.66) : 0 // Larger touch area for mobile
+ anchors.fill: unitsHelpLayout
+ enabled: control.activeFocus
+ onClicked: root.helpClicked()
}
}