From 34dccfd6a63fba57b872c68891b49a36000e41fc Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Feb 2017 11:57:01 +0100 Subject: [PATCH] Fix updating extruder names on machine switch The extruder name is asked from the extruder manager, so that the signal from extruder manager properly updates it once the new name is available. Contributes to issue CURA-3161. --- cura/Settings/ExtruderManager.py | 10 ++++++++++ resources/qml/PrintMonitor.qml | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 81579f74d0..77e8683e06 100644 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -103,6 +103,16 @@ class ExtruderManager(QObject): def activeExtruderIndex(self): return self._active_extruder_index + ## Gets the extruder name of an extruder of the currently active machine. + # + # \param index The index of the extruder whose name to get. + @pyqtSlot(int, result = str) + def getExtruderName(self, index): + try: + return list(self.getActiveExtruderStacks())[index].getName() + except IndexError: + return "" + def getActiveExtruderStack(self): global_container_stack = UM.Application.getInstance().getGlobalContainerStack() if global_container_stack: diff --git a/resources/qml/PrintMonitor.qml b/resources/qml/PrintMonitor.qml index 93cbaafffb..7c220ab7a2 100644 --- a/resources/qml/PrintMonitor.qml +++ b/resources/qml/PrintMonitor.qml @@ -87,7 +87,7 @@ Column Label //Extruder name. { - text: (extrudersModel.getItem(index) != null && extrudersModel.getItem(index).name != null) ? extrudersModel.getItem(index).name : catalog.i18nc("@label", "Hotend") + text: ExtruderManager.getExtruderName(index) != "" ? ExtruderManager.getExtruderName(index) : catalog.i18nc("@label", "Hotend") color: UM.Theme.getColor("text") font: UM.Theme.getFont("default") anchors.left: parent.left