Fix ExtrudersModel to use the right location for ExtruderManager

Contributes to CURA-342
This commit is contained in:
Arjen Hiemstra 2016-07-04 13:03:10 +02:00
parent ce3a5f7e48
commit 6fbe354839

View file

@ -3,9 +3,10 @@
from PyQt5.QtCore import Qt, pyqtSignal, pyqtProperty
import cura.ExtruderManager
import UM.Qt.ListModel
from . import ExtruderManager
## Model that holds extruders.
#
# This model is designed for use by any list of extruders, but specifically
@ -49,7 +50,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
self._active_extruder_stack = None
#Listen to changes.
manager = cura.ExtruderManager.ExtruderManager.getInstance()
manager = ExtruderManager.getInstance()
manager.extrudersChanged.connect(self._updateExtruders) #When the list of extruders changes in general.
UM.Application.getInstance().globalContainerStackChanged.connect(self._updateExtruders) #When the current machine changes.
self._updateExtruders()
@ -69,7 +70,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
return self._add_global
def _onActiveExtruderChanged(self):
manager = cura.ExtruderManager.ExtruderManager.getInstance()
manager = ExtruderManager.getInstance()
active_extruder_stack = manager.getActiveExtruderStack()
if self._active_extruder_stack != active_extruder_stack:
if self._active_extruder_stack:
@ -93,7 +94,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
# This should be called whenever the list of extruders changes.
def _updateExtruders(self):
self.clear()
manager = cura.ExtruderManager.ExtruderManager.getInstance()
manager = ExtruderManager.getInstance()
global_container_stack = UM.Application.getInstance().getGlobalContainerStack()
if not global_container_stack:
return #There is no machine to get the extruders of.