diff --git a/panels/base_panel.py b/panels/base_panel.py index 9f7c4ca9..7fce4697 100644 --- a/panels/base_panel.py +++ b/panels/base_panel.py @@ -116,6 +116,11 @@ class BasePanel(ScreenPanel): return def show_heaters(self, show=True): + for child in self.control['temp_box'].get_children(): + self.control['temp_box'].remove(child) + if not show or self._screen.printer.get_temp_store_devices() is None: + return + printer_cfg = self._config.get_printer_config(self._screen.connected_printer) if printer_cfg is not None: self.titlebar_name_type = printer_cfg.get("titlebar_name_type", None) @@ -123,12 +128,6 @@ class BasePanel(ScreenPanel): self.titlebar_name_type = None logging.info(f"Titlebar name type: {self.titlebar_name_type}") - for child in self.control['temp_box'].get_children(): - self.control['temp_box'].remove(child) - - if not show or self._screen.printer.get_temp_store_devices() is None: - return - img_size = self._gtk.img_scale * .5 for device in self._screen.printer.get_temp_store_devices(): self.labels[device] = Gtk.Label(label="100ยบ") diff --git a/panels/printer_select.py b/panels/printer_select.py index 6ce45878..792dce08 100644 --- a/panels/printer_select.py +++ b/panels/printer_select.py @@ -2,7 +2,7 @@ import gi import logging gi.require_version("Gtk", "3.0") -from gi.repository import Gtk +from gi.repository import Gtk, GLib from ks_includes.screen_panel import ScreenPanel logger = logging.getLogger("KlipperScreen.PrinterSelect") @@ -17,7 +17,6 @@ class PrinterSelect(ScreenPanel): super().__init__(screen, title, False) def initialize(self, panel_name): - printers = self._config.get_printers() grid = self._gtk.HomogeneousGrid() @@ -47,3 +46,7 @@ class PrinterSelect(ScreenPanel): col = i % columns row = int(i / columns) grid.attach(self.labels[name], col, row, 1, 1) + + def activate(self): + self._screen.base_panel.action_bar.hide() + GLib.timeout_add(100, self._screen.base_panel.action_bar.hide) diff --git a/screen.py b/screen.py index b6103fb1..6350bc93 100644 --- a/screen.py +++ b/screen.py @@ -137,7 +137,7 @@ class KlipperScreen(Gtk.Window): pname = list(printers[0])[0] self.connect_printer(pname) else: - self.show_panel("printer_select", "printer_select", "Printer Select", 2) + self.show_printer_select() def connect_printer_widget(self, widget, name): self.connect_printer(name) @@ -714,11 +714,7 @@ class KlipperScreen(Gtk.Window): logging.debug(f"Saving panel: {self._cur_panels[0]}") self.printer_select_prepanel = self._cur_panels[0] self.base_panel.show_heaters(False) - self.base_panel.show_macro_shortcut(False) - self.base_panel.show_printer_select(False) - self.show_panel("printer_select", "printer_select", "Printer Select", 2) - self.show_all() - self.base_panel.action_bar.hide() + self.show_panel("printer_select", "printer_select", _("Printer Select"), 2) def state_execute(self, callback, prev_state): if self.is_updating():