screen: remove shutdown variable and change on_close to disconnect

This commit is contained in:
alfrix 2022-11-15 22:20:17 -03:00
parent e1ea41f147
commit fdf13102fe
3 changed files with 9 additions and 14 deletions

View File

@ -202,7 +202,6 @@ class KlippyWebsocket(threading.Thread):
GLib.PRIORITY_HIGH_IDLE, GLib.PRIORITY_HIGH_IDLE,
self._callback['on_close'], self._callback['on_close'],
"Lost Connection to Moonraker", "Lost Connection to Moonraker",
True
) )
def reconnect(self): def reconnect(self):

View File

@ -76,7 +76,7 @@ class SplashScreenPanel(ScreenPanel):
self.clear_action_bar() self.clear_action_bar()
printer = self._screen.connected_printer printer = self._screen.connected_printer
if printer is not None and not self._screen.shutdown: if printer is not None and self._screen._ws.is_connected():
printer_cfg = self._config.get_printer_config(printer) printer_cfg = self._config.get_printer_config(printer)
if printer_cfg is not None: if printer_cfg is not None:
power_devices = printer_cfg.get("power_devices", "") power_devices = printer_cfg.get("power_devices", "")

View File

@ -83,7 +83,6 @@ class KlipperScreen(Gtk.Window):
screensaver = None screensaver = None
printer = None printer = None
subscriptions = [] subscriptions = []
shutdown = True
updating = False updating = False
update_queue = [] update_queue = []
_ws = None _ws = None
@ -230,7 +229,7 @@ class KlipperScreen(Gtk.Window):
{ {
"on_connect": self.init_printer, "on_connect": self.init_printer,
"on_message": self._websocket_callback, "on_message": self._websocket_callback,
"on_close": self.printer_initializing "on_close": self.state_disconnected
}, },
data["moonraker_host"], data["moonraker_host"],
data["moonraker_port"] data["moonraker_port"]
@ -710,10 +709,11 @@ class KlipperScreen(Gtk.Window):
else: else:
callback() callback()
def state_disconnected(self): def state_disconnected(self, msg=None):
logging.debug("### Going to disconnected") logging.debug("### Going to disconnected")
self.close_screensaver() self.close_screensaver()
self.printer_initializing(_("Klipper has disconnected")) msg = _("Klipper has disconnected") if msg is None else msg
self.printer_initializing(msg)
self.init_printer() self.init_printer()
def state_error(self): def state_error(self):
@ -856,14 +856,11 @@ class KlipperScreen(Gtk.Window):
logging.info(f"{method}: {params}") logging.info(f"{method}: {params}")
self._ws.send_method(method, params) self._ws.send_method(method, params)
def printer_initializing(self, text=None, disconnect=False): def printer_initializing(self, msg):
self.close_popup_message() self.close_popup_message()
self.show_panel('splash_screen', "splash_screen", None, 2) if 'splash_screen' not in self._cur_panels:
if disconnect is True and self.printer is not None: self.show_panel('splash_screen', "splash_screen", None, 2)
self.shutdown = True self.panels['splash_screen'].update_text(msg)
self.printer.state = "disconnected"
if text is not None:
self.panels['splash_screen'].update_text(text)
def search_power_devices(self, power_devices): def search_power_devices(self, power_devices):
if self.connected_printer is None or not power_devices: if self.connected_printer is None or not power_devices:
@ -902,7 +899,6 @@ class KlipperScreen(Gtk.Window):
self.reinit_count += 1 self.reinit_count += 1
self.init_printer_timeout = GLib.timeout_add_seconds(3, self.init_printer) self.init_printer_timeout = GLib.timeout_add_seconds(3, self.init_printer)
self.shutdown = False
powerdevs = self.apiclient.send_request("machine/device_power/devices") powerdevs = self.apiclient.send_request("machine/device_power/devices")
if powerdevs is not False: if powerdevs is not False:
self.printer.configure_power_devices(powerdevs['result']) self.printer.configure_power_devices(powerdevs['result'])