diff --git a/cura/MachineManagerModel.py b/cura/MachineManagerModel.py index f82d0e8a67..46425ba55e 100644 --- a/cura/MachineManagerModel.py +++ b/cura/MachineManagerModel.py @@ -61,7 +61,9 @@ class MachineManagerModel(QObject): activeStackChanged = pyqtSignal() globalValueChanged = pyqtSignal() # Emitted whenever a value inside global container is changed. - globalValidationChanged = pyqtSignal() # Emitted whenever a validation inside global container is changed. + globalValidationChanged = pyqtSignal() # Emitted whenever a validation inside global container is changed + + blurSettings = pyqtSignal() # Emitted to force fields in the advanced sidebar to un-focus, so they update properly @pyqtProperty("QVariantMap", notify = globalContainerChanged) def extrudersIds(self): @@ -212,6 +214,7 @@ class MachineManagerModel(QObject): if not self._active_container_stack: return + self.blurSettings.emit() user_settings = self._active_container_stack.getTop() user_settings.clear() @@ -299,6 +302,7 @@ class MachineManagerModel(QObject): new_container_id = self.duplicateContainer(self.activeQualityId) if new_container_id == "": return + self.blurSettings.emit() self.setActiveQuality(new_container_id) self.updateQualityContainerFromUserContainer() diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index 4fd84759fd..e98c06329d 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -7,6 +7,7 @@ import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import UM 1.1 as UM +import Cura 1.0 as Cura import "." @@ -245,5 +246,14 @@ Item { } } + Connections + { + target: Cura.MachineManager + onBlurSettings: + { + revertButton.focus = true + } + } + UM.I18nCatalog { id: catalog; name: "cura" } }