From 8c63216fdfc4a1ff179d0ada9c1a618630de15f0 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Tue, 16 Aug 2016 10:18:57 +0200 Subject: [PATCH] Get how we name variants from the machine definition CURA-2116 --- cura/Settings/MachineManager.py | 10 ++++++++++ resources/qml/SidebarHeader.qml | 19 +++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 42784e4e38..417e948773 100644 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -731,6 +731,16 @@ class MachineManager(QObject): return "" + ## Gets how the active definition calls variants + # Caveat: per-definition-variant-title is currently not translated (though the fallback is) + @pyqtProperty(str, notify = globalContainerChanged) + def activeDefinitionVariantsName(self): + fallback_title = catalog.i18nc("@label", "Nozzle") + if self._global_container_stack: + return self._global_container_stack.getBottom().getMetaDataEntry("variants_name", fallback_title) + + return fallback_title + @pyqtSlot(str, str) def renameMachine(self, machine_id, new_name): containers = UM.Settings.ContainerRegistry.getInstance().findContainerStacks(id = machine_id) diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index b1cf45f6d3..ff2a6a19a2 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -183,8 +183,23 @@ Column Label { id: variantLabel - text: (Cura.MachineManager.hasVariants && Cura.MachineManager.hasMaterials) ? catalog.i18nc("@label","Nozzle & Material:"): - Cura.MachineManager.hasVariants ? catalog.i18nc("@label","Nozzle:") : catalog.i18nc("@label","Material:"); + text: + { + var label; + if(Cura.MachineManager.hasVariants && Cura.MachineManager.hasMaterials) + { + label = "%1 & %2".arg(Cura.MachineManager.activeDefinitionVariantsName).arg(catalog.i18nc("@label","Material")); + } + else if(Cura.MachineManager.hasVariants) + { + label = Cura.MachineManager.activeDefinitionVariantsName; + } + else + { + label = catalog.i18nc("@label","Material"); + } + return "%1:".arg(label); + } anchors.verticalCenter: parent.verticalCenter width: parent.width * 0.45 - UM.Theme.getSize("default_margin").width