Mismatched configuration is now shown correctly again

CL-541
This commit is contained in:
Jaime van Kessel 2017-11-30 11:04:13 +01:00
parent 3d3b140526
commit f30f0a7194
3 changed files with 23 additions and 18 deletions

View file

@ -2,6 +2,7 @@
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot
from typing import Optional
MYPY = False
if MYPY:
from cura.PrinterOutput.PrinterOutputController import PrinterOutputController
@ -15,6 +16,7 @@ class PrintJobOutputModel(QObject):
nameChanged = pyqtSignal()
keyChanged = pyqtSignal()
assignedPrinterChanged = pyqtSignal()
ownerChanged = pyqtSignal()
def __init__(self, output_controller: "PrinterOutputController", key: str = "", name: str = "", parent=None):
super().__init__(parent)
@ -24,7 +26,17 @@ class PrintJobOutputModel(QObject):
self._time_elapsed = 0
self._name = name # Human readable name
self._key = key # Unique identifier
self._assigned_printer = None
self._assigned_printer = None # type: Optional[PrinterOutputModel]
self._owner = "" # Who started/owns the print job?
@pyqtProperty(str, notify=ownerChanged)
def owner(self):
return self._owner
def updateOwner(self, owner):
if self._owner != owner:
self._owner = owner
self.ownerChanged.emit()
@pyqtProperty(QObject, notify=assignedPrinterChanged)
def assignedPrinter(self):

View file

@ -198,9 +198,15 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
print_job.updateTimeTotal(print_job_data["time_total"])
print_job.updateTimeElapsed(print_job_data["time_elapsed"])
print_job.updateState(print_job_data["status"])
print_job.updateOwner(print_job_data["owner"])
printer = None
if print_job.state != "queued":
# Print job should be assigned to a printer.
printer = self._getPrinterByKey(print_job_data["printer_uuid"])
else: # Status is queued
# The job can "reserve" a printer if some changes are required.
printer = self._getPrinterByKey(print_job_data["assigned_to"])
if printer:
printer.updateActivePrintJob(print_job)

View file

@ -269,14 +269,7 @@ Rectangle
case "sent_to_printer":
return catalog.i18nc("@label", "Preparing to print")
case "queued":
if (printJob.configuration_changes_required != null && printJob.configuration_changes_required.length !== 0)
{
return catalog.i18nc("@label:status", "Action required");
}
else
{
return "";
}
case "pausing":
case "paused":
return catalog.i18nc("@label:status", "Paused");
@ -333,12 +326,9 @@ Rectangle
if (printJob != null)
{
if(printJob.state === "queued")
{
if (printJob.configuration_changes_required != null && printJob.configuration_changes_required.length !== 0)
{
return "action-required-icon.svg";
}
}
else if (printJob.state === "wait_cleanup")
{
return "checkmark-icon.svg";
@ -401,10 +391,7 @@ Rectangle
case "wait_for_configuration":
return catalog.i18nc("@label", "Not accepting print jobs")
case "queued":
if (printJob.configuration_changes_required != undefined)
{
return catalog.i18nc("@label", "Waiting for configuration change");
}
default:
return "";
}