diff options
Diffstat (limited to 'Fields/Text.qml')
| -rw-r--r-- | Fields/Text.qml | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Fields/Text.qml b/Fields/Text.qml new file mode 100644 index 0000000..49d7ad2 --- /dev/null +++ b/Fields/Text.qml @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: Unlicense + +import QtQuick 2.12 +import QtQuick.Controls 2.13 + +Label { + id: control + + property var definition + property alias value: control.text + + Keys.onPressed: { + if (event.text === definition.key) { + popup.open() + event.accepted = true + } + } + + function set(val) { value = val || '' } + + elide: Text.ElideRight + + Popup { + id: popup + + width: control.width + height: control.height + padding: 0 + + onOpened: { + input.text = value + input.forceActiveFocus() + } + + TextInput { + id: input + + clip: true + padding: 2 + topPadding: 0 + bottomPadding: 0 + width: parent.width + + onAccepted: { + value = input.text.trim() + popup.close() + } + } + } +} |
