screen: remove pop parameter from show_panel and remove_panel, simpler
This commit is contained in:
parent
34f9b958a7
commit
3a7818bd35
@ -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}")
|
||||
|
@ -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)
|
||||
|
21
screen.py
21
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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user