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,
self._callback['on_close'],
"Lost Connection to Moonraker",
True
)
def reconnect(self):

View File

@ -76,7 +76,7 @@ class SplashScreenPanel(ScreenPanel):
self.clear_action_bar()
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)
if printer_cfg is not None:
power_devices = printer_cfg.get("power_devices", "")

View File

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