diff options
author | Jaime van Kessel <nallath@gmail.com> | 2017-12-08 12:44:05 +0300 |
---|---|---|
committer | Jaime van Kessel <nallath@gmail.com> | 2017-12-08 12:44:05 +0300 |
commit | a8695db1c898ae26821ef8280d382a0be10a7507 (patch) | |
tree | 83647a7fd9f546c313f6b8f53b8009a7a5298369 /plugins/MonitorStage | |
parent | c28c20dbd719892981817a0b601275c82f7009cb (diff) |
Fixed displaying of icons in monitor stage tab
CL-541
Diffstat (limited to 'plugins/MonitorStage')
-rw-r--r-- | plugins/MonitorStage/MonitorStage.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/plugins/MonitorStage/MonitorStage.py b/plugins/MonitorStage/MonitorStage.py index 0736f49858..21d5bb6cde 100644 --- a/plugins/MonitorStage/MonitorStage.py +++ b/plugins/MonitorStage/MonitorStage.py @@ -40,34 +40,41 @@ class MonitorStage(CuraStage): ## Find the correct status icon depending on the active output device state
def _getActiveOutputDeviceStatusIcon(self):
- output_device = Application.getInstance().getOutputDeviceManager().getActiveDevice()
-
- if not output_device:
+ # We assume that you are monitoring the device with the highest priority.
+ try:
+ output_device = Application.getInstance().getMachineManager().printerOutputDevices[0]
+ except IndexError:
return "tab_status_unknown"
- if hasattr(output_device, "acceptsCommands") and not output_device.acceptsCommands:
+ if not output_device.acceptsCommands:
return "tab_status_unknown"
- if not hasattr(output_device, "printerState") or not hasattr(output_device, "jobState"):
- return "tab_status_unknown"
+ if output_device.activePrinter is None:
+ return "tab_status_connected"
# TODO: refactor to use enum instead of hardcoded strings?
- if output_device.printerState == "maintenance":
+ if output_device.activePrinter.state == "maintenance":
return "tab_status_busy"
- if output_device.jobState in ["printing", "pre_print", "pausing", "resuming"]:
+ if output_device.state == "maintenance":
+ return "tab_status_busy"
+
+ if output_device.activePrinter.activeJob is None:
+ return "tab_status_connected"
+
+ if output_device.activePrinter.activeJob.state in ["printing", "pre_print", "pausing", "resuming"]:
return "tab_status_busy"
- if output_device.jobState == "wait_cleanup":
+ if output_device.activePrinter.activeJob.state == "wait_cleanup":
return "tab_status_finished"
- if output_device.jobState in ["ready", ""]:
+ if output_device.activePrinter.activeJob.state in ["ready", ""]:
return "tab_status_connected"
- if output_device.jobState == "paused":
+ if output_device.activePrinter.activeJob.state == "paused":
return "tab_status_paused"
- if output_device.jobState == "error":
+ if output_device.activePrinter.activeJob.state == "error":
return "tab_status_stopped"
return "tab_status_unknown"
|