Browse Source

Merge pull request #4540 from DonLakeFlyer/ParameterEditorDialogMobile

Parameter editor dialog mobile
QGC4.4
Don Gagne 8 years ago committed by GitHub
parent
commit
2dbd131bdd
  1. 2
      ios/iOS-Info.plist
  2. 2
      src/FactSystem/FactControls/FactTextField.qml
  3. 84
      src/QmlControls/ParameterEditorDialog.qml
  4. 1
      src/QmlControls/QGCFlickable.qml
  5. 1
      src/QmlControls/QGCTextField.qml

2
ios/iOS-Info.plist

@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>NSCameraUsageDescription</key>
<string>QGC uses UVC devices for video streaming.</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>QGroundControl</string> <string>QGroundControl</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>

2
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 { Component {

84
src/QmlControls/ParameterEditorDialog.qml

@ -7,12 +7,9 @@
* *
****************************************************************************/ ****************************************************************************/
/// @file
/// @author Don Gagne <don@thegagnes.com>
import QtQuick 2.5 import QtQuick 2.5
import QtQuick.Controls 1.3 import QtQuick.Controls 1.3
import QtQuick.Layouts 1.2
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
@ -30,6 +27,7 @@ QGCViewDialog {
property string validateValue 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 } ParameterEditorController { id: controller; factPanel: parent }
@ -68,7 +66,6 @@ QGCViewDialog {
validationError.text = fact.validate(validateValue, false /* convertOnly */) validationError.text = fact.validate(validateValue, false /* convertOnly */)
forceSave.visible = true forceSave.visible = true
} }
//valueField.forceActiveFocus()
} }
QGCFlickable { QGCFlickable {
@ -83,28 +80,24 @@ QGCViewDialog {
anchors.right: parent.right anchors.right: parent.right
QGCLabel { QGCLabel {
id: validationError
width: parent.width width: parent.width
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
visible: fact.shortDescription color: qgcPal.warningText
text: fact.shortDescription
}
QGCLabel {
width: parent.width
wrapMode: Text.WordWrap
visible: fact.longDescription
text: fact.longDescription
} }
Row { RowLayout {
spacing: defaultTextWidth spacing: defaultTextWidth
anchors.left: parent.left
anchors.right: parent.right
QGCTextField { QGCTextField {
id: valueField id: valueField
text: validate ? validateValue : fact.valueString text: validate ? validateValue : fact.valueString
visible: fact.enumStrings.length == 0 || validate visible: fact.enumStrings.length == 0 || validate
//focus: true unitsLabel: fact.units
showUnits: fact.units != ""
Layout.fillWidth: true
inputMethodHints: ScreenTools.isiOS ? inputMethodHints: ScreenTools.isiOS ?
Qt.ImhNone : // iOS numeric keyboard has not done button, we can't use it Qt.ImhNone : // iOS numeric keyboard has not done button, we can't use it
Qt.ImhFormattedNumbersOnly // Forces use of virtual numeric keyboard Qt.ImhFormattedNumbersOnly // Forces use of virtual numeric keyboard
@ -113,7 +106,6 @@ QGCViewDialog {
QGCButton { QGCButton {
anchors.baseline: valueField.baseline anchors.baseline: valueField.baseline
visible: fact.defaultValueAvailable visible: fact.defaultValueAvailable
width: _editFieldWidth
text: qsTr("Reset to default") text: qsTr("Reset to default")
onClicked: { onClicked: {
@ -159,50 +151,49 @@ QGCViewDialog {
} }
QGCLabel { QGCLabel {
text: fact.name width: parent.width
visible: fact.componentId > 0 // > 0 means it's a parameter fact wrapMode: Text.WordWrap
visible: !longDescriptionLabel.visible
text: fact.shortDescription
} }
Column { QGCLabel {
spacing: defaultTextHeight / 2 id: longDescriptionLabel
anchors.left: parent.left width: parent.width
anchors.right: parent.right wrapMode: Text.WordWrap
visible: fact.longDescription != ""
Row { text: fact.longDescription
spacing: defaultTextWidth
QGCLabel { text: qsTr("Units:") }
QGCLabel { text: fact.units ? fact.units : qsTr("none") }
} }
Row { Row {
spacing: defaultTextWidth spacing: defaultTextWidth
visible: !fact.minIsDefaultForType
QGCLabel { text: qsTr("Minimum value:") } QGCLabel {
QGCLabel { text: fact.minString } id: minValueDisplay
text: qsTr("Min: ") + fact.minString
visible: !fact.minIsDefaultForType
} }
Row { QGCLabel {
spacing: defaultTextWidth text: qsTr("Max: ") + fact.maxString
visible: !fact.maxIsDefaultForType visible: !fact.maxIsDefaultForType
QGCLabel { text: qsTr("Maximum value:") }
QGCLabel { text: fact.maxString }
} }
Row { QGCLabel {
spacing: defaultTextWidth text: qsTr("Default: ") + fact.defaultValueString
visible: fact.defaultValueAvailable
}
}
QGCLabel { text: qsTr("Default value:") } QGCLabel {
QGCLabel { text: fact.defaultValueAvailable ? fact.defaultValueString : qsTr("none") } text: qsTr("Parameter name: ") + fact.name
visible: fact.componentId > 0 // > 0 means it's a parameter fact
} }
QGCLabel { QGCLabel {
visible: fact.rebootRequired visible: fact.rebootRequired
text: "Reboot required after change" text: "Reboot required after change"
} }
} // Column
QGCLabel { QGCLabel {
width: parent.width width: parent.width
@ -211,13 +202,6 @@ QGCViewDialog {
qsTr("Make sure you know what you are doing and double-check your values before Save!") qsTr("Make sure you know what you are doing and double-check your values before Save!")
} }
QGCLabel {
id: validationError
width: parent.width
wrapMode: Text.WordWrap
color: qsTr("yellow")
}
QGCCheckBox { QGCCheckBox {
id: forceSave id: forceSave
visible: false visible: false

1
src/QmlControls/QGCFlickable.qml

@ -6,6 +6,7 @@ import QGroundControl.Palette 1.0
Flickable { Flickable {
id: root id: root
boundsBehavior: Flickable.StopAtBounds boundsBehavior: Flickable.StopAtBounds
clip: true
property color indicatorColor: qgcPal.text property color indicatorColor: qgcPal.text

1
src/QmlControls/QGCTextField.qml

@ -97,6 +97,7 @@ TextField {
} }
MouseArea { MouseArea {
anchors.margins: ScreenTools.isMobile ? -(ScreenTools.defaultFontPixelWidth * 0.66) : 0 // Larger touch area for mobile
anchors.fill: unitsHelpLayout anchors.fill: unitsHelpLayout
enabled: control.activeFocus enabled: control.activeFocus
onClicked: root.helpClicked() onClicked: root.helpClicked()

Loading…
Cancel
Save