diff options
Diffstat (limited to 'share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/SpinBox.qml')
-rw-r--r-- | share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/SpinBox.qml | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/SpinBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/SpinBox.qml index da2a7f1d5d..ffde6e4ad1 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/SpinBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/SpinBox.qml @@ -69,6 +69,11 @@ T.SpinBox { editable: true validator: control.decimals ? doubleValidator : intValidator + function checkAndClearFocus() { + if (!spinBoxIndicatorUp.activeFocus && !spinBoxIndicatorDown.activeFocus && !spinBoxInput.activeFocus) + control.focus = false + } + DoubleValidator { id: doubleValidator locale: control.locale.name @@ -132,7 +137,7 @@ T.SpinBox { __parentControl: control function handleEditingFinished() { - control.focus = false + control.checkAndClearFocus() // Keep the dirty state before calling setValueFromInput(), // it will be set to false (cleared) internally @@ -146,7 +151,10 @@ T.SpinBox { control.compressedValueModified() } - onEditingFinished: spinBoxInput.handleEditingFinished() + onEditingFinished: { + spinBoxInput.focus = false + spinBoxInput.handleEditingFinished() + } } background: Rectangle { |