mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 19:09:01 +08:00
Added update to for Instance container to re calculate values and validate
CURA-4447
This commit is contained in:
parent
276232dae5
commit
85f2a7c385
@ -415,6 +415,20 @@ class CuraApplication(QtApplication):
|
|||||||
|
|
||||||
global_stack.getTop().clear()
|
global_stack.getTop().clear()
|
||||||
|
|
||||||
|
# if the user decided to keep settings then the user settings should be re-calculated and validated for errors
|
||||||
|
# before slicing. To ensure that slicer uses right settings values
|
||||||
|
elif option == "keep":
|
||||||
|
global_stack = self.getGlobalContainerStack()
|
||||||
|
for extruder in ExtruderManager.getInstance().getMachineExtruders(global_stack.getId()):
|
||||||
|
user_extruder_container = extruder.getTop()
|
||||||
|
|
||||||
|
if user_extruder_container:
|
||||||
|
user_extruder_container.update()
|
||||||
|
|
||||||
|
user_global_container = global_stack.getTop()
|
||||||
|
if user_global_container:
|
||||||
|
user_global_container.update()
|
||||||
|
|
||||||
@pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def messageBoxClosed(self, button):
|
def messageBoxClosed(self, button):
|
||||||
if self._message_box_callback:
|
if self._message_box_callback:
|
||||||
|
@ -854,17 +854,18 @@ class MachineManager(QObject):
|
|||||||
self._replaceQualityOrQualityChangesInStack(stack, stack_quality, postpone_emit=True)
|
self._replaceQualityOrQualityChangesInStack(stack, stack_quality, postpone_emit=True)
|
||||||
self._replaceQualityOrQualityChangesInStack(stack, stack_quality_changes, postpone_emit=True)
|
self._replaceQualityOrQualityChangesInStack(stack, stack_quality_changes, postpone_emit=True)
|
||||||
|
|
||||||
# Send emits that are postponed in replaceContainer.
|
|
||||||
# Here the stacks are finished replacing and every value can be resolved based on the current state.
|
|
||||||
for setting_info in new_quality_settings_list:
|
|
||||||
setting_info["stack"].sendPostponedEmits()
|
|
||||||
|
|
||||||
# Connect to onQualityNameChanged
|
# Connect to onQualityNameChanged
|
||||||
for stack in name_changed_connect_stacks:
|
for stack in name_changed_connect_stacks:
|
||||||
stack.nameChanged.connect(self._onQualityNameChanged)
|
stack.nameChanged.connect(self._onQualityNameChanged)
|
||||||
|
|
||||||
if self.hasUserSettings and Preferences.getInstance().getValue("cura/active_mode") == 1:
|
if self.hasUserSettings and Preferences.getInstance().getValue("cura/active_mode") == 1:
|
||||||
self._askUserToKeepOrClearCurrentSettings()
|
self._askUserToKeepOrClearCurrentSettings()
|
||||||
|
else:
|
||||||
|
# If the user doesn't have any of adjusted settings then slicing will be triggered by emit()
|
||||||
|
# Send emits that are postponed in replaceContainer.
|
||||||
|
# Here the stacks are finished replacing and every value can be resolved based on the current state.
|
||||||
|
for setting_info in new_quality_settings_list:
|
||||||
|
setting_info["stack"].sendPostponedEmits()
|
||||||
|
|
||||||
self.activeQualityChanged.emit()
|
self.activeQualityChanged.emit()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user