From 0eedfa5c1816b79d41a326a069af19f8b875fb9d Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 24 Oct 2017 15:45:20 +0200 Subject: [PATCH] CURA-4485 Disabling automatic material and variant when connecting to a printer within a cluster of more than 1 printer. --- resources/qml/Menus/MaterialMenu.qml | 12 ++++++++++-- resources/qml/Menus/NozzleMenu.qml | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/resources/qml/Menus/MaterialMenu.qml b/resources/qml/Menus/MaterialMenu.qml index 1688bc228a..5422457140 100644 --- a/resources/qml/Menus/MaterialMenu.qml +++ b/resources/qml/Menus/MaterialMenu.qml @@ -14,6 +14,14 @@ Menu property int extruderIndex: 0 property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0 + property bool isClusterPrinter: + { + var clusterSize = Cura.MachineManager.printerOutputDevices[0].clusterSize + // This is a non cluster printer or the cluster it is just one printer + if (typeof clusterSize == "undefined" || clusterSize == 1) + return false + return true + } UM.SettingPropertyProvider { @@ -29,14 +37,14 @@ Menu id: automaticMaterial text: { - if(printerConnected && Cura.MachineManager.printerOutputDevices[0].materialNames.length > extruderIndex) + if(printerConnected && Cura.MachineManager.printerOutputDevices[0].materialNames.length > extruderIndex && !isClusterPrinter) { var materialName = Cura.MachineManager.printerOutputDevices[0].materialNames[extruderIndex]; return catalog.i18nc("@title:menuitem %1 is the automatically selected material", "Automatic: %1").arg(materialName); } return ""; } - visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].materialNames.length > extruderIndex + visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].materialNames.length > extruderIndex && !isClusterPrinter onTriggered: { var materialId = Cura.MachineManager.printerOutputDevices[0].materialIds[extruderIndex]; diff --git a/resources/qml/Menus/NozzleMenu.qml b/resources/qml/Menus/NozzleMenu.qml index b51b3b1907..79bc105b58 100644 --- a/resources/qml/Menus/NozzleMenu.qml +++ b/resources/qml/Menus/NozzleMenu.qml @@ -14,20 +14,28 @@ Menu property int extruderIndex: 0 property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0 + property bool isClusterPrinter: + { + var clusterSize = Cura.MachineManager.printerOutputDevices[0].clusterSize + // This is a non cluster printer or the cluster it is just one printer + if (typeof clusterSize == "undefined" || clusterSize == 1) + return false + return true + } MenuItem { id: automaticNozzle text: { - if(printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex) + if(printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex && !isClusterPrinter) { var nozzleName = Cura.MachineManager.printerOutputDevices[0].hotendIds[extruderIndex]; return catalog.i18nc("@title:menuitem %1 is the nozzle currently loaded in the printer", "Automatic: %1").arg(nozzleName); } return ""; } - visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex + visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex && !isClusterPrinter onTriggered: { var activeExtruderIndex = ExtruderManager.activeExtruderIndex;