From ff94b45c453ab925f18541a21884423851b0b2e9 Mon Sep 17 00:00:00 2001 From: alfrix Date: Thu, 8 Jun 2023 11:16:02 -0300 Subject: [PATCH] close dialogs when transitioning to printing also simplify the transition --- panels/job_status.py | 3 +-- screen.py | 33 ++++++++++----------------------- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/panels/job_status.py b/panels/job_status.py index 2e2de1cb..b51a5b11 100644 --- a/panels/job_status.py +++ b/panels/job_status.py @@ -478,8 +478,7 @@ class JobStatusPanel(ScreenPanel): def close_panel(self, widget=None): if self.can_close: logging.debug("Closing job_status panel") - self._screen.printer_ready() - self._printer.change_state("ready") + self._screen.state_ready(wait=False) def enable_button(self, *args): for arg in args: diff --git a/screen.py b/screen.py index 119e7aa5..ef8acec5 100755 --- a/screen.py +++ b/screen.py @@ -157,7 +157,7 @@ class KlipperScreen(Gtk.Window): state_callbacks = { "disconnected": self.state_disconnected, "error": self.state_error, - "paused": self.state_paused, + "paused": self.state_printing, "printing": self.state_printing, "ready": self.state_ready, "startup": self.state_startup, @@ -654,21 +654,19 @@ class KlipperScreen(Gtk.Window): msg += _("Please recompile and flash the micro-controller.") + "\n" self.printer_initializing(msg + "\n" + state, remove=True) - def state_paused(self): - if "job_status" not in self._cur_panels: - self.printer_printing() - def state_printing(self): - if "job_status" not in self._cur_panels: - self.printer_printing() - else: - self.panels["job_status"].new_print() + self.close_screensaver() + self.base_panel_show_all() + for dialog in self.dialogs: + self.gtk.remove_dialog(dialog) + self.show_panel('job_status', "job_status", _("Printing"), 2) - def state_ready(self): + def state_ready(self, wait=True): # Do not return to main menu if completing a job, timeouts/user input will return - if "job_status" in self._cur_panels: + if "job_status" in self._cur_panels and wait: return - self.printer_ready() + self.show_panel('main_panel', "main_menu", None, 2, items=self._config.get_menu_items("__main")) + self.base_panel_show_all() def state_startup(self): self.printer_initializing(_("Klipper is attempting to start")) @@ -893,17 +891,6 @@ class KlipperScreen(Gtk.Window): self.base_panel.show_heaters(True) self.base_panel.show_estop(True) - def printer_ready(self): - self.show_panel('main_panel', "main_menu", None, 2, items=self._config.get_menu_items("__main")) - self.base_panel_show_all() - - def printer_printing(self): - self.close_screensaver() - self.base_panel_show_all() - for dialog in self.dialogs: - self.gtk.remove_dialog(dialog) - self.show_panel('job_status', "job_status", _("Printing"), 2) - def show_keyboard(self, entry=None, event=None): if self.keyboard is not None: return