Improved text field

This commit is contained in:
2016-12-17 02:07:52 +01:00
parent f922b97e5b
commit f4603e9515
+18 -5
View File
@@ -4,23 +4,34 @@ import matzman666.advsettings 1.0
TextField { TextField {
property int keyBoardUID: 0 property int keyBoardUID: 0
property string savedText: ""
id: myTextField id: myTextField
color: "#cccccc" color: "#cccccc"
text: "" text: ""
font.pointSize: 20 font.pointSize: 20
background: Button {
hoverEnabled: true
background: Rectangle { background: Rectangle {
color: parent.activeFocus ? "#2c435d" : "#1b2939" color: parent.hovered ? "#2c435d" : "#1b2939"
border.color: "#cccccc" border.color: "#cccccc"
border.width: 2 border.width: 2
} }
onEditingFinished: { onClicked: {
if (OverlayController.desktopMode) { myTextField.forceActiveFocus()
myTextField.onInputEvent(text)
} }
} }
onActiveFocusChanged: { onActiveFocusChanged: {
if (activeFocus && !OverlayController.desktopMode) { if (activeFocus) {
if (!OverlayController.desktopMode) {
OverlayController.showKeyboard(text, keyBoardUID) OverlayController.showKeyboard(text, keyBoardUID)
} else {
savedText = text
}
}
}
onEditingFinished: {
if (OverlayController.desktopMode && savedText !== text) {
myTextField.onInputEvent(text)
} }
} }
function onInputEvent(input) { function onInputEvent(input) {
@@ -30,8 +41,10 @@ TextField {
target: OverlayController target: OverlayController
onKeyBoardInputSignal: { onKeyBoardInputSignal: {
if (userValue == keyBoardUID) { if (userValue == keyBoardUID) {
if (myTextField.text !== input) {
myTextField.onInputEvent(input) myTextField.onInputEvent(input)
} }
} }
} }
} }
}