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() } }