From 10e2a046dad1a57ffeb8f1453cce67de108b82c4 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@digia.com> Date: Wed, 21 May 2014 18:06:15 +0200 Subject: [PATCH] QmlDesigner.PropertyEditor: Adding dirty flag to LineEdit This patch ensures that we only commit data to the backend if the text actually changed. The signal onEditingFinished is triggered even if the user did not edit the string. Change-Id: I2d54f3d79a1c60525e4c9744b364cc014bd407ce Reviewed-by: Marco Bubke <marco.bubke@digia.com> Reviewed-by: Tim Jenssen <tim.jenssen@digia.com> --- .../HelperWidgets/LineEdit.qml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/LineEdit.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/LineEdit.qml index ee88008ed31..cbec8ac0715 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/LineEdit.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/LineEdit.qml @@ -49,6 +49,8 @@ Controls.TextField { property bool hasToConvertColor: false + property bool __dirty: false + ExtendedFunctionButton { x: 2 y: 4 @@ -65,20 +67,28 @@ Controls.TextField { } else { lineEdit.text = valueFromBackend } + __dirty = false } } + onTextChanged: { + __dirty = true + } onEditingFinished: { if (hasToConvertColor) return + if (!__dirty) + return + if (backendValue.isTranslated) { backendValue.expression = "qsTr(\"" + trCheckbox.escapeString(text) + "\")" } else { if (lineEdit.backendValue.value !== text) lineEdit.backendValue.value = text; } + __dirty = false } style: TextFieldStyle { -- GitLab