From 3a7818bd35cd185d2dc30316f5f74a53f8f4ade4 Mon Sep 17 00:00:00 2001 From: alfrix Date: Tue, 25 Jul 2023 14:57:16 -0300 Subject: [PATCH] screen: remove pop parameter from show_panel and remove_panel, simpler --- ks_includes/screen_panel.py | 4 ++-- panels/move.py | 2 +- screen.py | 21 ++++++++++----------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/ks_includes/screen_panel.py b/ks_includes/screen_panel.py index eb9ad96a..060c2b78 100644 --- a/ks_includes/screen_panel.py +++ b/ks_includes/screen_panel.py @@ -62,9 +62,9 @@ class ScreenPanel: def menu_item_clicked(self, widget, item): if 'extra' in item: - self._screen.show_panel(item['panel'], item['name'], pop=False, extra=item['extra']) + self._screen.show_panel(item['panel'], item['name'], extra=item['extra']) return - self._screen.show_panel(item['panel'], item['name'], pop=False) + self._screen.show_panel(item['panel'], item['name']) def load_menu(self, widget, name, title=None): logging.info(f"loading menu {name}") diff --git a/panels/move.py b/panels/move.py index b5cf2cde..351fdb5a 100644 --- a/panels/move.py +++ b/panels/move.py @@ -255,4 +255,4 @@ class Panel(ScreenPanel): name = "homing" disname = self._screen._config.get_menu_name("move", name) menuitems = self._screen._config.get_menu_items("move", name) - self._screen.show_panel("menu", disname, pop=False, items=menuitems) + self._screen.show_panel("menu", disname, items=menuitems) diff --git a/screen.py b/screen.py index b38a29d8..fadeff0c 100755 --- a/screen.py +++ b/screen.py @@ -265,12 +265,12 @@ class KlipperScreen(Gtk.Window): raise FileNotFoundError(os.strerror(2), "\n" + panel_path) return import_module(f"panels.{panel}") - def show_panel(self, panel, title, remove_all=False, pop=True, **kwargs): + def show_panel(self, panel, title, remove_all=False, **kwargs): try: if remove_all: self._remove_all_panels() else: - self._remove_current_panel(pop) + self._remove_current_panel() if panel not in self.panels: try: self.panels[panel] = self._load_panel(panel).Panel(self, title, **kwargs) @@ -459,7 +459,7 @@ class KlipperScreen(Gtk.Window): disname = self._config.get_menu_name(menu, name) menuitems = self._config.get_menu_items(menu, name) if len(menuitems) != 0: - self.show_panel("menu", disname, pop=False, items=menuitems) + self.show_panel("menu", disname, items=menuitems) else: logging.info("No items in menu") @@ -474,16 +474,10 @@ class KlipperScreen(Gtk.Window): self._cur_panels.clear() self.close_screensaver() - def _remove_current_panel(self, pop=True): - if len(self._cur_panels) < 1: - self.reload_panels() - return + def _remove_current_panel(self): self.base_panel.remove(self.panels[self._cur_panels[-1]].content) if hasattr(self.panels[self._cur_panels[-1]], "deactivate"): self.panels[self._cur_panels[-1]].deactivate() - if pop: - del self._cur_panels[-1] - self.attach_panel(self._cur_panels[-1]) def _menu_go_back(self, widget=None, home=False): logging.info(f"#### Menu go {'home' if home else 'back'}") @@ -492,8 +486,13 @@ class KlipperScreen(Gtk.Window): self.close_popup_message() while len(self._cur_panels) > 1: self._remove_current_panel() + del self._cur_panels[-1] if not home: break + if len(self._cur_panels) < 1: + self.reload_panels() + return + self.attach_panel(self._cur_panels[-1]) def reset_screensaver_timeout(self, *args): if self.screensaver_timeout is not None: @@ -698,7 +697,7 @@ class KlipperScreen(Gtk.Window): elif action == "notify_status_update" and self.printer.state != "shutdown": self.printer.process_update(data) if 'manual_probe' in data and data['manual_probe']['is_active'] and 'zcalibrate' not in self._cur_panels: - self.show_panel("zcalibrate", _('Z Calibrate'), pop=False) + self.show_panel("zcalibrate", _('Z Calibrate')) elif action == "notify_filelist_changed": if self.files is not None: self.files.process_update(data)