mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-14 07:45:58 +08:00
Fix NozzleMenu active nozzle bullet
This commit is contained in:
parent
244b109403
commit
7a3ebe1a42
@ -30,10 +30,11 @@ class ExtruderManager(QObject):
|
|||||||
def __init__(self, parent = None):
|
def __init__(self, parent = None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
|
||||||
|
self._application = Application.getInstance()
|
||||||
|
|
||||||
self._extruder_trains = {} # Per machine, a dictionary of extruder container stack IDs. Only for separately defined extruders.
|
self._extruder_trains = {} # Per machine, a dictionary of extruder container stack IDs. Only for separately defined extruders.
|
||||||
self._active_extruder_index = -1 # Indicates the index of the active extruder stack. -1 means no active extruder stack
|
self._active_extruder_index = -1 # Indicates the index of the active extruder stack. -1 means no active extruder stack
|
||||||
self._selected_object_extruders = []
|
self._selected_object_extruders = []
|
||||||
self._global_container_stack_definition_id = None
|
|
||||||
self._addCurrentMachineExtruders()
|
self._addCurrentMachineExtruders()
|
||||||
|
|
||||||
#Application.getInstance().globalContainerStackChanged.connect(self._globalContainerStackChanged)
|
#Application.getInstance().globalContainerStackChanged.connect(self._globalContainerStackChanged)
|
||||||
@ -365,10 +366,6 @@ class ExtruderManager(QObject):
|
|||||||
return result[:machine_extruder_count]
|
return result[:machine_extruder_count]
|
||||||
|
|
||||||
def _globalContainerStackChanged(self) -> None:
|
def _globalContainerStackChanged(self) -> None:
|
||||||
global_container_stack = Application.getInstance().getGlobalContainerStack()
|
|
||||||
if global_container_stack and global_container_stack.getBottom() and global_container_stack.getBottom().getId() != self._global_container_stack_definition_id:
|
|
||||||
self._global_container_stack_definition_id = global_container_stack.getBottom().getId()
|
|
||||||
|
|
||||||
# If the global container changed, the machine changed and might have extruders that were not registered yet
|
# If the global container changed, the machine changed and might have extruders that were not registered yet
|
||||||
self._addCurrentMachineExtruders()
|
self._addCurrentMachineExtruders()
|
||||||
|
|
||||||
@ -376,7 +373,7 @@ class ExtruderManager(QObject):
|
|||||||
|
|
||||||
## Adds the extruders of the currently active machine.
|
## Adds the extruders of the currently active machine.
|
||||||
def _addCurrentMachineExtruders(self) -> None:
|
def _addCurrentMachineExtruders(self) -> None:
|
||||||
global_stack = Application.getInstance().getGlobalContainerStack()
|
global_stack = self._application.getGlobalContainerStack()
|
||||||
extruders_changed = False
|
extruders_changed = False
|
||||||
|
|
||||||
if global_stack:
|
if global_stack:
|
||||||
|
@ -311,10 +311,11 @@ class MachineManager(QObject):
|
|||||||
ExtruderManager.getInstance().setActiveExtruderIndex(0) # Switch to first extruder
|
ExtruderManager.getInstance().setActiveExtruderIndex(0) # Switch to first extruder
|
||||||
Application.getInstance().setGlobalContainerStack(global_stack)
|
Application.getInstance().setGlobalContainerStack(global_stack)
|
||||||
self._global_container_stack = global_stack
|
self._global_container_stack = global_stack
|
||||||
self.globalContainerChanged.emit()
|
Application.getInstance().setGlobalContainerStack(global_stack)
|
||||||
self._onGlobalContainerChanged()
|
|
||||||
ExtruderManager.getInstance()._globalContainerStackChanged()
|
ExtruderManager.getInstance()._globalContainerStackChanged()
|
||||||
self._initMachineState(containers[0])
|
self._initMachineState(containers[0])
|
||||||
|
self.globalContainerChanged.emit()
|
||||||
|
self._onGlobalContainerChanged()
|
||||||
|
|
||||||
self.__emitChangedSignals()
|
self.__emitChangedSignals()
|
||||||
|
|
||||||
|
@ -13,22 +13,12 @@ Menu
|
|||||||
title: "Nozzle"
|
title: "Nozzle"
|
||||||
|
|
||||||
property int extruderIndex: 0
|
property int extruderIndex: 0
|
||||||
property QtObject extruderStack: Cura.MachineManager.getExtruder(menu.extruderIndex)
|
|
||||||
property bool hasExtruderStack: extruderStack != null
|
|
||||||
|
|
||||||
Cura.NozzleModel
|
Cura.NozzleModel
|
||||||
{
|
{
|
||||||
id: nozzleModel
|
id: nozzleModel
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections
|
|
||||||
{
|
|
||||||
target: Cura.MachineManager
|
|
||||||
onGlobalContainerChanged: {
|
|
||||||
menu.extruderStack = Cura.MachineManager.getExtruder(menu.extruderIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Instantiator
|
Instantiator
|
||||||
{
|
{
|
||||||
model: nozzleModel
|
model: nozzleModel
|
||||||
@ -37,10 +27,12 @@ Menu
|
|||||||
{
|
{
|
||||||
text: model.hotend_name
|
text: model.hotend_name
|
||||||
checkable: true
|
checkable: true
|
||||||
checked: menu.hasExtruderStack && extruderStack.variant.name == model.hotend_name
|
checked: {
|
||||||
|
return Cura.MachineManager.activeVariantNames[extruderIndex] == model.hotend_name
|
||||||
|
}
|
||||||
exclusiveGroup: group
|
exclusiveGroup: group
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
Cura.MachineManager.setVariantGroup(extruderIndex, model.container_node);
|
Cura.MachineManager.setVariantGroup(menu.extruderIndex, model.container_node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user