mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-19 12:47:49 -06:00
Remove unnecessary listening to switching extruder tabs
Also fix unnecessary emitting of switching extruder tabs. This should improve performance a lot. I tested a lot of things and am convinced that it didn't break anything. But the automated GUI tests and QA team should be the final arbiters of that... Contributes to issue CURA-6793.
This commit is contained in:
parent
b5c6a0a1e3
commit
ce4c5a1c93
5 changed files with 9 additions and 13 deletions
|
@ -126,10 +126,6 @@ class BuildVolume(SceneNode):
|
||||||
# Therefore this works.
|
# Therefore this works.
|
||||||
self._machine_manager.activeQualityChanged.connect(self._onStackChanged)
|
self._machine_manager.activeQualityChanged.connect(self._onStackChanged)
|
||||||
|
|
||||||
# This should also ways work, and it is semantically more correct,
|
|
||||||
# but it does not update the disallowed areas after material change
|
|
||||||
self._machine_manager.activeStackChanged.connect(self._onStackChanged)
|
|
||||||
|
|
||||||
# Enable and disable extruder
|
# Enable and disable extruder
|
||||||
self._machine_manager.extruderChanged.connect(self.updateNodeBoundaryCheck)
|
self._machine_manager.extruderChanged.connect(self.updateNodeBoundaryCheck)
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ class BaseMaterialsModel(ListModel):
|
||||||
self._machine_manager.globalContainerChanged.connect(self._updateExtruderStack)
|
self._machine_manager.globalContainerChanged.connect(self._updateExtruderStack)
|
||||||
self._updateExtruderStack()
|
self._updateExtruderStack()
|
||||||
|
|
||||||
# Update this model when switching machines, when adding materials or changing their metadata.
|
# Update this model when switching machines or tabs, when adding materials or changing their metadata.
|
||||||
self._machine_manager.activeStackChanged.connect(self._update)
|
self._machine_manager.activeStackChanged.connect(self._update)
|
||||||
ContainerTree.getInstance().materialsChanged.connect(self._materialsListChanged)
|
ContainerTree.getInstance().materialsChanged.connect(self._materialsListChanged)
|
||||||
self._application.getMaterialManagementModel().favoritesChanged.connect(self._update)
|
self._application.getMaterialManagementModel().favoritesChanged.connect(self._update)
|
||||||
|
|
|
@ -48,7 +48,10 @@ class IntentCategoryModel(ListModel):
|
||||||
|
|
||||||
ContainerRegistry.getInstance().containerAdded.connect(self._onContainerChange)
|
ContainerRegistry.getInstance().containerAdded.connect(self._onContainerChange)
|
||||||
ContainerRegistry.getInstance().containerRemoved.connect(self._onContainerChange)
|
ContainerRegistry.getInstance().containerRemoved.connect(self._onContainerChange)
|
||||||
cura.CuraApplication.CuraApplication.getInstance().getMachineManager().activeStackChanged.connect(self.update)
|
machine_manager = cura.CuraApplication.CuraApplication.getInstance().getMachineManager()
|
||||||
|
machine_manager.activeMaterialChanged.connect(self.update)
|
||||||
|
machine_manager.activeVariantChanged.connect(self.update)
|
||||||
|
machine_manager.extruderChanged.connect(self.update)
|
||||||
|
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,8 @@ class QualityProfilesDropDownMenuModel(ListModel):
|
||||||
|
|
||||||
application.globalContainerStackChanged.connect(self._onChange)
|
application.globalContainerStackChanged.connect(self._onChange)
|
||||||
machine_manager.activeQualityGroupChanged.connect(self._onChange)
|
machine_manager.activeQualityGroupChanged.connect(self._onChange)
|
||||||
machine_manager.activeStackChanged.connect(self._onChange)
|
machine_manager.activeMaterialChanged.connect(self._onChange)
|
||||||
|
machine_manager.activeVariantChanged.connect(self._onChange)
|
||||||
machine_manager.extruderChanged.connect(self._onChange)
|
machine_manager.extruderChanged.connect(self._onChange)
|
||||||
|
|
||||||
self._layer_height_unit = "" # This is cached
|
self._layer_height_unit = "" # This is cached
|
||||||
|
|
|
@ -139,8 +139,8 @@ class MachineManager(QObject):
|
||||||
activeVariantChanged = pyqtSignal()
|
activeVariantChanged = pyqtSignal()
|
||||||
activeQualityChanged = pyqtSignal()
|
activeQualityChanged = pyqtSignal()
|
||||||
activeIntentChanged = pyqtSignal()
|
activeIntentChanged = pyqtSignal()
|
||||||
activeStackChanged = pyqtSignal() # Emitted whenever the active extruder stack is changed (ie: when changing between extruders, changing a profile, but not when changing a value)
|
activeStackChanged = pyqtSignal() # Emitted whenever the active extruder stack is changed (ie: when switching the active extruder tab or changing between printers)
|
||||||
extruderChanged = pyqtSignal()
|
extruderChanged = pyqtSignal() # Emitted whenever an extruder is activated or deactivated or the default extruder changes.
|
||||||
|
|
||||||
activeStackValueChanged = pyqtSignal() # Emitted whenever a value inside the active stack is changed.
|
activeStackValueChanged = pyqtSignal() # Emitted whenever a value inside the active stack is changed.
|
||||||
activeStackValidationChanged = pyqtSignal() # Emitted whenever a validation inside active container is changed
|
activeStackValidationChanged = pyqtSignal() # Emitted whenever a validation inside active container is changed
|
||||||
|
@ -269,11 +269,7 @@ class MachineManager(QObject):
|
||||||
|
|
||||||
def _onActiveExtruderStackChanged(self) -> None:
|
def _onActiveExtruderStackChanged(self) -> None:
|
||||||
self.blurSettings.emit() # Ensure no-one has focus.
|
self.blurSettings.emit() # Ensure no-one has focus.
|
||||||
if self._active_container_stack is not None:
|
|
||||||
self._active_container_stack.pyqtContainersChanged.disconnect(self.activeStackChanged) # Unplug from the old one.
|
|
||||||
self._active_container_stack = ExtruderManager.getInstance().getActiveExtruderStack()
|
self._active_container_stack = ExtruderManager.getInstance().getActiveExtruderStack()
|
||||||
if self._active_container_stack is not None:
|
|
||||||
self._active_container_stack.pyqtContainersChanged.connect(self.activeStackChanged) # Plug into the new one.
|
|
||||||
|
|
||||||
def __emitChangedSignals(self) -> None:
|
def __emitChangedSignals(self) -> None:
|
||||||
self.activeQualityChanged.emit()
|
self.activeQualityChanged.emit()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue