blob: 35ac89cf327c4120c95a0cc49f506b4ce0777774 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
// Copyright (C) 2018 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick.Controls
import QtQuick.VirtualKeyboard
import "content"
Rectangle {
width: 1280
height: 720
color: "#F6F6F6"
// If enabled, prevents interaction with the text fields
property bool handwritingInputPanelActive: false
Flickable {
id: flickable
anchors.fill: parent
contentWidth: content.width
contentHeight: content.height
interactive: contentHeight > height
flickableDirection: Flickable.VerticalFlick
property real scrollMarginVertical: 20
ScrollBar.vertical: ScrollBar {}
MouseArea {
id: content
width: flickable.width
height: textEditors.height + 24
onClicked: focus = true
Column {
id: textEditors
spacing: 15
x: 12
y: 12
width: parent.width - 26
Label {
color: "#565758"
text: "Tap fields to enter text"
anchors.horizontalCenter: parent.horizontalCenter
font.pixelSize: 22
}
TextField {
width: parent.width
placeholderText: "One line field"
enterKeyAction: EnterKeyAction.Next
onAccepted: passwordField.focus = true
}
TextField {
id: passwordField
width: parent.width
echoMode: TextInput.Password
placeholderText: "Password field"
inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhPreferLowercase | Qt.ImhSensitiveData | Qt.ImhNoPredictiveText
enterKeyAction: EnterKeyAction.Next
onAccepted: upperCaseField.focus = true
}
TextField {
id: upperCaseField
width: parent.width
placeholderText: "Upper case field"
inputMethodHints: Qt.ImhUppercaseOnly
enterKeyAction: EnterKeyAction.Next
onAccepted: lowerCaseField.focus = true
}
TextField {
id: lowerCaseField
width: parent.width
placeholderText: "Lower case field"
inputMethodHints: Qt.ImhLowercaseOnly
enterKeyAction: EnterKeyAction.Next
onAccepted: phoneNumberField.focus = true
}
TextField {
id: phoneNumberField
validator: RegularExpressionValidator { regularExpression: /^[0-9\+\-\#\*\ ]{6,}$/ }
width: parent.width
placeholderText: "Phone number field"
inputMethodHints: Qt.ImhDialableCharactersOnly
enterKeyAction: EnterKeyAction.Next
onAccepted: formattedNumberField.focus = true
}
TextField {
id: formattedNumberField
width: parent.width
placeholderText: "Formatted number field"
inputMethodHints: Qt.ImhFormattedNumbersOnly
enterKeyAction: EnterKeyAction.Next
onAccepted: digitsField.focus = true
}
TextField {
id: digitsField
width: parent.width
placeholderText: "Digits only field"
inputMethodHints: Qt.ImhDigitsOnly
enterKeyAction: EnterKeyAction.Next
onAccepted: textArea.focus = true
}
TextArea {
id: textArea
width: parent.width
placeholderText: "Multiple line field"
height: Math.max(206, implicitHeight)
}
}
}
}
// Hide the text fields' cursors when fullscreen handwriting is active.
MouseArea {
anchors.fill: parent
visible: handwritingInputPanelActive
}
}
|