From 8dfba9a31841b349d27f5c8eb892ec179c03b0e9 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 30 Oct 2017 15:31:14 +0100 Subject: [PATCH] Stop SettingTextField from setting values when getting/losing the focus Fixes #2694 --- resources/qml/Settings/SettingTextField.qml | 22 +++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/resources/qml/Settings/SettingTextField.qml b/resources/qml/Settings/SettingTextField.qml index 7c2317af63..cdc0588940 100644 --- a/resources/qml/Settings/SettingTextField.qml +++ b/resources/qml/Settings/SettingTextField.qml @@ -11,6 +11,14 @@ SettingItem id: base property var focusItem: input + property string textBeforeEdit + property bool textHasChanged + onFocusReceived: + { + textHasChanged = false; + textBeforeEdit = focusItem.text; + } + contents: Rectangle { id: control @@ -115,12 +123,22 @@ SettingItem Keys.onReleased: { - propertyProvider.setPropertyValue("value", text) + if (text != textBeforeEdit) + { + textHasChanged = true; + } + if (textHasChanged) + { + propertyProvider.setPropertyValue("value", text) + } } onEditingFinished: { - propertyProvider.setPropertyValue("value", text) + if (textHasChanged) + { + propertyProvider.setPropertyValue("value", text) + } } onActiveFocusChanged: