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):
|
def menu_item_clicked(self, widget, item):
|
||||||
if 'extra' in 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
|
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):
|
def load_menu(self, widget, name, title=None):
|
||||||
logging.info(f"loading menu {name}")
|
logging.info(f"loading menu {name}")
|
||||||
|
@ -255,4 +255,4 @@ class Panel(ScreenPanel):
|
|||||||
name = "homing"
|
name = "homing"
|
||||||
disname = self._screen._config.get_menu_name("move", name)
|
disname = self._screen._config.get_menu_name("move", name)
|
||||||
menuitems = self._screen._config.get_menu_items("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)
|
raise FileNotFoundError(os.strerror(2), "\n" + panel_path)
|
||||||
return import_module(f"panels.{panel}")
|
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:
|
try:
|
||||||
if remove_all:
|
if remove_all:
|
||||||
self._remove_all_panels()
|
self._remove_all_panels()
|
||||||
else:
|
else:
|
||||||
self._remove_current_panel(pop)
|
self._remove_current_panel()
|
||||||
if panel not in self.panels:
|
if panel not in self.panels:
|
||||||
try:
|
try:
|
||||||
self.panels[panel] = self._load_panel(panel).Panel(self, title, **kwargs)
|
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)
|
disname = self._config.get_menu_name(menu, name)
|
||||||
menuitems = self._config.get_menu_items(menu, name)
|
menuitems = self._config.get_menu_items(menu, name)
|
||||||
if len(menuitems) != 0:
|
if len(menuitems) != 0:
|
||||||
self.show_panel("menu", disname, pop=False, items=menuitems)
|
self.show_panel("menu", disname, items=menuitems)
|
||||||
else:
|
else:
|
||||||
logging.info("No items in menu")
|
logging.info("No items in menu")
|
||||||
|
|
||||||
@ -474,16 +474,10 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self._cur_panels.clear()
|
self._cur_panels.clear()
|
||||||
self.close_screensaver()
|
self.close_screensaver()
|
||||||
|
|
||||||
def _remove_current_panel(self, pop=True):
|
def _remove_current_panel(self):
|
||||||
if len(self._cur_panels) < 1:
|
|
||||||
self.reload_panels()
|
|
||||||
return
|
|
||||||
self.base_panel.remove(self.panels[self._cur_panels[-1]].content)
|
self.base_panel.remove(self.panels[self._cur_panels[-1]].content)
|
||||||
if hasattr(self.panels[self._cur_panels[-1]], "deactivate"):
|
if hasattr(self.panels[self._cur_panels[-1]], "deactivate"):
|
||||||
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):
|
def _menu_go_back(self, widget=None, home=False):
|
||||||
logging.info(f"#### Menu go {'home' if home else 'back'}")
|
logging.info(f"#### Menu go {'home' if home else 'back'}")
|
||||||
@ -492,8 +486,13 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self.close_popup_message()
|
self.close_popup_message()
|
||||||
while len(self._cur_panels) > 1:
|
while len(self._cur_panels) > 1:
|
||||||
self._remove_current_panel()
|
self._remove_current_panel()
|
||||||
|
del self._cur_panels[-1]
|
||||||
if not home:
|
if not home:
|
||||||
break
|
break
|
||||||
|
if len(self._cur_panels) < 1:
|
||||||
|
self.reload_panels()
|
||||||
|
return
|
||||||
|
self.attach_panel(self._cur_panels[-1])
|
||||||
|
|
||||||
def reset_screensaver_timeout(self, *args):
|
def reset_screensaver_timeout(self, *args):
|
||||||
if self.screensaver_timeout is not None:
|
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":
|
elif action == "notify_status_update" and self.printer.state != "shutdown":
|
||||||
self.printer.process_update(data)
|
self.printer.process_update(data)
|
||||||
if 'manual_probe' in data and data['manual_probe']['is_active'] and 'zcalibrate' not in self._cur_panels:
|
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":
|
elif action == "notify_filelist_changed":
|
||||||
if self.files is not None:
|
if self.files is not None:
|
||||||
self.files.process_update(data)
|
self.files.process_update(data)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user