fuzbal/Fields/Text.qml

51 lines
915 B
QML
Raw Normal View History

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