From 4ca8bc5a9eb7b5874d9fa9d584e3d6bea49a4237 Mon Sep 17 00:00:00 2001 From: Simon Edwards Date: Thu, 28 Sep 2017 11:21:17 +0200 Subject: [PATCH] CL-118 Add support and text for disabled printers and print jobs which require config changes. --- .../UM3NetworkPrinting/PrinterInfoBlock.qml | 47 +++++++++++++------ 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml index bab7db41d4..c83865f8b1 100644 --- a/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml @@ -199,10 +199,10 @@ Rectangle property var showExtended: { if(printJob!= null) { - var extendStates = ["sent_to_printer", "wait_for_configuration", "printing", "pre_print", "post_print", "wait_cleanup"]; + var extendStates = ["sent_to_printer", "wait_for_configuration", "printing", "pre_print", "post_print", "wait_cleanup", "queued"]; return extendStates.indexOf(printJob.status) !== -1; } - return false + return ! printer.enabled; } visible: { @@ -227,6 +227,11 @@ Rectangle anchors.right: progressText.left anchors.rightMargin: UM.Theme.getSize("default_margin").width text: { + if ( ! printer.enabled) + { + return catalog.i18nc("@label:status", "Disabled"); + } + if(printJob != null) { if(printJob.status == "printing" || printJob.status == "post_print") @@ -245,12 +250,16 @@ Rectangle { return catalog.i18nc("@label:status", "Preparing") } + else if (printJob.configuration_changes_required != undefined && printJob.status == "queued") + { + return catalog.i18nc("@label:status", "Required action") + } else { - return "" + return printJob.status; } } - return catalog.i18nc("@label:status", "Available") + return catalog.i18nc("@label:status", "Available"); } elide: Text.ElideRight @@ -292,29 +301,37 @@ Rectangle width: parent.width - 2 * UM.Theme.getSize("default_margin").width - visible: printJob != null && (["wait_cleanup", "printing", "pre_print", "wait_for_configuration"].indexOf(printJob.status) !== -1) + visible: showExtended Label // Status detail { text: { + if ( ! printer.enabled) + { + return catalog.i18nc("@label", "Not accepting print jobs"); + } + if(printJob != null) { - if(printJob.status == "printing" ) + switch (printJob.status) { + case "printing": return catalog.i18nc("@label", "Finishes at: ") + OutputDevice.getTimeCompleted(printJob.time_total - printJob.time_elapsed) - } - if(printJob.status == "wait_cleanup") - { + case "wait_cleanup": return catalog.i18nc("@label", "Clear build plate") - } - if(printJob.status == "sent_to_printer" || printJob.status == "pre_print") - { + case "sent_to_printer": + case "pre_print": return catalog.i18nc("@label", "Preparing to print") - } - if(printJob.status == "wait_for_configuration") - { + case "wait_for_configuration": return catalog.i18nc("@label", "Not accepting print jobs") + case "queued": + if (printJob.configuration_changes_required != undefined) + { + return catalog.i18nc("@label", "Configuration change"); + } + default: + return ""; } } return ""