Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime van Kessel <nallath@gmail.com>2017-12-08 12:44:05 +0300
committerJaime van Kessel <nallath@gmail.com>2017-12-08 12:44:05 +0300
commita8695db1c898ae26821ef8280d382a0be10a7507 (patch)
tree83647a7fd9f546c313f6b8f53b8009a7a5298369 /plugins/MonitorStage
parentc28c20dbd719892981817a0b601275c82f7009cb (diff)
Fixed displaying of icons in monitor stage tab
CL-541
Diffstat (limited to 'plugins/MonitorStage')
-rw-r--r--plugins/MonitorStage/MonitorStage.py31
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"