From 259b1091f66b64aa7c65868f5d3e1886ef967ae0 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 17 Jan 2018 19:36:20 +0100 Subject: [PATCH] Fix QML errors building the material and nozzle menus Since the network rewrite, outputdevices no longer have hotends and materials. This functionality may return, but until that time this does a better job at checking if the properties exist, preventing QML errors. --- resources/qml/Menus/MaterialMenu.qml | 4 ++-- resources/qml/Menus/NozzleMenu.qml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/qml/Menus/MaterialMenu.qml b/resources/qml/Menus/MaterialMenu.qml index 983d2f1b92..3d04649f11 100644 --- a/resources/qml/Menus/MaterialMenu.qml +++ b/resources/qml/Menus/MaterialMenu.qml @@ -44,14 +44,14 @@ Menu id: automaticMaterial text: { - if(printerConnected && Cura.MachineManager.printerOutputDevices[0].materialNames.length > extruderIndex && !isClusterPrinter) + if(visible) { 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 && !isClusterPrinter + visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].materialNames != undefined && 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 cc3ea66b07..81db20a79d 100644 --- a/resources/qml/Menus/NozzleMenu.qml +++ b/resources/qml/Menus/NozzleMenu.qml @@ -34,14 +34,14 @@ Menu id: automaticNozzle text: { - if(printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex && !isClusterPrinter) + if(visible) { 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 && !isClusterPrinter + visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds != undefined && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex && !isClusterPrinter onTriggered: { var activeExtruderIndex = Cura.ExtruderManager.activeExtruderIndex;