screen: rework panel clear

This commit is contained in:
Alfredo Monclus 2024-05-25 16:44:29 -03:00
parent 3b010e6901
commit fe8b1e9d70

View File

@ -510,20 +510,19 @@ class KlipperScreen(Gtk.Window):
logging.info("No items in menu")
def _remove_all_panels(self):
for _ in self.base_panel.content.get_children():
self.base_panel.content.remove(_)
logging.debug("Removing all panels")
while len(self._cur_panels) > 0:
self._remove_current_panel()
del self._cur_panels[-1]
self._cur_panels.clear()
for dialog in self.dialogs:
self.gtk.remove_dialog(dialog)
for panel in list(self.panels):
if hasattr(self.panels[panel], "deactivate"):
self.panels[panel].deactivate()
self._cur_panels.clear()
self.close_screensaver()
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()
self.base_panel.remove(self.panels[self._cur_panels[-1]].content)
def _menu_go_back(self, widget=None, home=False):
logging.info(f"#### Menu go {'home' if home else 'back'}")