Force setting fields to update when discarding changes

Textfields that have the focus don't (always) update when a new value is set.
CURA-1585
This commit is contained in:
fieldOfView 2016-06-13 11:53:57 +02:00
parent 1d89e8c6a9
commit a545cde4a8
2 changed files with 15 additions and 1 deletions

View file

@ -61,7 +61,9 @@ class MachineManagerModel(QObject):
activeStackChanged = pyqtSignal() activeStackChanged = pyqtSignal()
globalValueChanged = pyqtSignal() # Emitted whenever a value inside global container is changed. 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) @pyqtProperty("QVariantMap", notify = globalContainerChanged)
def extrudersIds(self): def extrudersIds(self):
@ -212,6 +214,7 @@ class MachineManagerModel(QObject):
if not self._active_container_stack: if not self._active_container_stack:
return return
self.blurSettings.emit()
user_settings = self._active_container_stack.getTop() user_settings = self._active_container_stack.getTop()
user_settings.clear() user_settings.clear()
@ -299,6 +302,7 @@ class MachineManagerModel(QObject):
new_container_id = self.duplicateContainer(self.activeQualityId) new_container_id = self.duplicateContainer(self.activeQualityId)
if new_container_id == "": if new_container_id == "":
return return
self.blurSettings.emit()
self.setActiveQuality(new_container_id) self.setActiveQuality(new_container_id)
self.updateQualityContainerFromUserContainer() self.updateQualityContainerFromUserContainer()

View file

@ -7,6 +7,7 @@ import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1 import QtQuick.Controls.Styles 1.1
import UM 1.1 as UM import UM 1.1 as UM
import Cura 1.0 as Cura
import "." import "."
@ -245,5 +246,14 @@ Item {
} }
} }
Connections
{
target: Cura.MachineManager
onBlurSettings:
{
revertButton.focus = true
}
}
UM.I18nCatalog { id: catalog; name: "cura" } UM.I18nCatalog { id: catalog; name: "cura" }
} }