From 31b737468944c6645edfd9779a7562f4a2242259 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 6 Mar 2018 13:39:35 +0100 Subject: [PATCH] Fix material settings saving upon dialog close CURA-4606 Force to trigger a lose focus on all editing fields so their onEditingFinished callback will get triggered. --- resources/qml/Preferences/MaterialView.qml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index c987880305..d2f653e650 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -47,6 +47,19 @@ TabView return Math.round(diameter); } + // This trick makes sure to make all fields lose focus so their onEditingFinished will be triggered + // and modified values will be saved. This can happen when a user changes a value and then closes the + // dialog directly. + // + // Please note that somehow this callback is ONLY triggered when visible is false. + onVisibleChanged: + { + if (!visible) + { + base.focus = false; + } + } + Tab { title: catalog.i18nc("@title", "Information")