diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml index 0f2ae67442..8231870c21 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml @@ -141,8 +141,11 @@ Item id: printerConfiguration anchors.verticalCenter: parent.verticalCenter buildplate: "Glass" - config0: base.printJob.configuration.extruderConfigurations[0] - config1: base.printJob.configuration.extruderConfigurations[1] + configurations: + [ + base.printJob.configuration.extruderConfigurations[0], + base.printJob.configuration.extruderConfigurations[1] + ] height: 72 * screenScaleFactor // TODO: Theme! } Label { diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterConfiguration.qml index a31c8bbd99..6aa11528de 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterConfiguration.qml @@ -18,11 +18,8 @@ Item // Extracted buildplate configuration property alias buildplate: buildplateConfig.buildplate - // Extracted extruder configuration for position 0 - property var config0: null - - // Extracted extruder configuration for position 1 - property var config1: null + // Array of extracted extruder configurations + property var configurations: null // Default size, but should be stretched to fill parent height: 72 * parent.height @@ -30,30 +27,25 @@ Item Row { + id: extruderConfigurationRow spacing: 18 * screenScaleFactor // TODO: Theme! - MonitorExtruderConfiguration + Repeater { - color: config0 && config0.activeMaterial ? config0.activeMaterial.color : "#eeeeee" // TODO: Theme! - material: config0 && config0.activeMaterial ? config0.activeMaterial.name : "" - position: config0.position - printCore: config0 ? config0.hotendID : "" - visible: config0 + id: extruderConfigurationRepeater + model: configurations - // Keep things responsive! - width: Math.floor((base.width - parent.spacing) / 2) - } + MonitorExtruderConfiguration + { + color: modelData.activeMaterial ? modelData.activeMaterial.color : "#eeeeee" // TODO: Theme! + material: modelData.activeMaterial ? modelData.activeMaterial.name : "" + position: modelData.position + printCore: modelData.hotendID - MonitorExtruderConfiguration - { - color: config1 && config1.activeMaterial ? config1.activeMaterial.color : "#eeeeee" // TODO: Theme! - material: config1 && config1.activeMaterial ? config1.activeMaterial.name : "" - position: config1.position - printCore: config1 ? config1.hotendID : "" - visible: config1 + // Keep things responsive! + width: Math.floor((base.width - (configurations.length - 1) * extruderConfigurationRow.spacing) / configurations.length) + } - // Keep things responsive! - width: Math.floor((base.width - parent.spacing) / 2) } }