diff options
author | Liang Qi <liang.qi@digia.com> | 2014-01-21 13:07:21 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-22 16:09:31 +0100 |
commit | 5dc805c86077ee9cd10af530f802fdda879cfb6a (patch) | |
tree | 44a13a83b6e79d0e81420b2167eaf20b018f01c6 /src/controls | |
parent | 5e022a65531b92d4d2f4cf9a0dd6b843aadf3797 (diff) | |
download | qtquickcontrols-5dc805c86077ee9cd10af530f802fdda879cfb6a.tar.gz |
Controls: Fixed support for Keys attached property on controls allowing text input
By forwarding key events from the internal control.
It includes TextField, TextArea, ComboBox, SpinBox. The key events from
internal are Keys.forwardTo controls, then user could customize their
own behavior for those controls.
Autotest are included.
[ChangeLog][QtQuickControls] Fixed support for Keys attached property on
controls allowing text input, by forwarding key events from the internal
control.
Task-number: QTBUG-33493
Task-number: QTBUG-34101
Task-number: QTBUG-35763
Change-Id: I00ea131160e55048b34fe0713e1ee02ff9472f05
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Diffstat (limited to 'src/controls')
-rw-r--r-- | src/controls/ComboBox.qml | 1 | ||||
-rw-r--r-- | src/controls/SpinBox.qml | 2 | ||||
-rw-r--r-- | src/controls/TextArea.qml | 2 | ||||
-rw-r--r-- | src/controls/TextField.qml | 2 |
4 files changed, 7 insertions, 0 deletions
diff --git a/src/controls/ComboBox.qml b/src/controls/ComboBox.qml index fe2b9e2b..4a9ce967 100644 --- a/src/controls/ComboBox.qml +++ b/src/controls/ComboBox.qml @@ -427,6 +427,7 @@ Control { } property bool allowComplete: false + Keys.forwardTo: comboBox Keys.onPressed: allowComplete = (event.key !== Qt.Key_Backspace && event.key !== Qt.Key_Delete); onTextChanged: { diff --git a/src/controls/SpinBox.qml b/src/controls/SpinBox.qml index 4dc03d97..8fc964a0 100644 --- a/src/controls/SpinBox.qml +++ b/src/controls/SpinBox.qml @@ -268,6 +268,8 @@ Control { selectValue() } + Keys.forwardTo: spinbox + onEditingFinished: spinbox.editingFinished() color: __panel ? __panel.foregroundColor : "black" diff --git a/src/controls/TextArea.qml b/src/controls/TextArea.qml index 72697919..66e7faf6 100644 --- a/src/controls/TextArea.qml +++ b/src/controls/TextArea.qml @@ -720,6 +720,8 @@ ScrollView { selectByMouse: true readOnly: false + Keys.forwardTo: area + KeyNavigation.priority: KeyNavigation.BeforeItem KeyNavigation.tab: area.tabChangesFocus ? area.KeyNavigation.tab : null KeyNavigation.backtab: area.tabChangesFocus ? area.KeyNavigation.backtab : null diff --git a/src/controls/TextField.qml b/src/controls/TextField.qml index ba380b68..d9ba3625 100644 --- a/src/controls/TextField.qml +++ b/src/controls/TextField.qml @@ -598,6 +598,8 @@ Control { renderType: __style ? __style.renderType : Text.NativeRendering + Keys.forwardTo: textfield + onAccepted: { Qt.inputMethod.commit() Qt.inputMethod.hide() |