job_status: Set cancelled state earlier, and fix status label

This commit is contained in:
alfrix 2022-02-28 14:33:24 -03:00
parent 320b7a8836
commit ebfe0debb8

View File

@ -25,7 +25,7 @@ class JobStatusPanel(ScreenPanel):
def initialize(self, panel_name): def initialize(self, panel_name):
_ = self.lang.gettext _ = self.lang.gettext
self.timeleft_type = "file" self.timeleft_type = "file"
self.timeout = None self.state_timeout = None
self.close_timeouts = [] self.close_timeouts = []
self.create_buttons() self.create_buttons()
@ -228,8 +228,8 @@ class JobStatusPanel(ScreenPanel):
_ = self.lang.gettext _ = self.lang.gettext
ps = self._printer.get_stat("print_stats") ps = self._printer.get_stat("print_stats")
self.set_state(ps['state']) self.set_state(ps['state'])
if self.timeout is None: if self.state_timeout is None:
GLib.timeout_add_seconds(1, self.state_check) self.state_timeout = GLib.timeout_add_seconds(1, self.state_check)
def add_labels(self): def add_labels(self):
for child in self.labels['i1_box'].get_children(): for child in self.labels['i1_box'].get_children():
@ -304,6 +304,7 @@ class JobStatusPanel(ScreenPanel):
return return
logging.debug("Canceling print") logging.debug("Canceling print")
self.set_state("cancelling")
self.disable_button("pause", "resume", "cancel") self.disable_button("pause", "resume", "cancel")
self._screen._ws.klippy.print_cancel(self._response_callback) self._screen._ws.klippy.print_cancel(self._response_callback)
@ -339,8 +340,8 @@ class JobStatusPanel(ScreenPanel):
def new_print(self): def new_print(self):
self.remove_close_timeout() self.remove_close_timeout()
if self.timeout is None: if self.state_timeout is None:
GLib.timeout_add_seconds(1, self.state_check) self.state_timeout = GLib.timeout_add_seconds(1, self.state_check)
self._screen.wake_screen() self._screen.wake_screen()
self.state_check() self.state_check()
@ -487,17 +488,17 @@ class JobStatusPanel(ScreenPanel):
if self.state != state: if self.state != state:
logging.debug("Changing job_status state from '%s' to '%s'" % (self.state, state)) logging.debug("Changing job_status state from '%s' to '%s'" % (self.state, state))
self.state = state
if state == "paused": if state == "paused":
self.update_text("status", _("Paused")) self.update_text("status", _("Paused"))
elif state == "printing": elif state == "printing":
self.update_text("status", _("Printing")) self.update_text("status", _("Printing"))
elif state == "cancelling": elif state == "cancelling":
self.update_text("status", _("Cancelling")) self.update_text("status", _("Cancelling"))
elif state == "cancelled": elif state == "cancelled" or (state == "standby" and self.state == "cancelling"):
self.update_text("status", _("Cancelled")) self.update_text("status", _("Cancelled"))
elif state == "complete": elif state == "complete":
self.update_text("status", _("Complete")) self.update_text("status", _("Complete"))
self.state = state
self.show_buttons_for_state() self.show_buttons_for_state()