From 99909cc8400a5a62465bf7f4cdeac42dfa50f10a Mon Sep 17 00:00:00 2001 From: Roberto Date: Thu, 8 Jan 2026 13:39:42 +0000 Subject: [PATCH 1/2] ADD: added event sender depending on print status --- BlocksScreen/lib/panels/mainWindow.py | 11 ++++--- BlocksScreen/lib/panels/printTab.py | 1 - .../lib/panels/widgets/jobStatusPage.py | 30 +++++++++++++++++++ 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/BlocksScreen/lib/panels/mainWindow.py b/BlocksScreen/lib/panels/mainWindow.py index 18549a39..0c1003f6 100644 --- a/BlocksScreen/lib/panels/mainWindow.py +++ b/BlocksScreen/lib/panels/mainWindow.py @@ -86,7 +86,7 @@ def __init__(self): self.filamentPanel = FilamentTab(self.ui.filamentTab, self.printer, self.ws) self.controlPanel = ControlTab(self.ui.controlTab, self.ws, self.printer) self.utilitiesPanel = UtilitiesTab(self.ui.utilitiesTab, self.ws, self.printer) - self.networkPanel = NetworkControlWindow(self) + #self.networkPanel = NetworkControlWindow(self) self.bo_ws_startup.connect(slot=self.bo_start_websocket_connection) self.ws.connecting_signal.connect(self.conn_window.on_websocket_connecting) self.ws.connected_signal.connect( @@ -620,7 +620,6 @@ def event(self, event: QtCore.QEvent) -> bool: self.messageReceivedEvent(event) return True return False - if event.type() == events.PrintStart.type(): self.disable_tab_bar() self.ui.extruder_temp_display.clicked.disconnect() @@ -641,10 +640,10 @@ def event(self, event: QtCore.QEvent) -> bool: ) return False - if event.type() == ( - events.PrintError.type() - or events.PrintComplete.type() - or events.PrintCancelled.type() + if event.type() in ( + events.PrintError.type(), + events.PrintComplete.type(), + events.PrintCancelled.type() ): self.enable_tab_bar() self.ui.extruder_temp_display.clicked.disconnect() diff --git a/BlocksScreen/lib/panels/printTab.py b/BlocksScreen/lib/panels/printTab.py index 104a765a..2a885362 100644 --- a/BlocksScreen/lib/panels/printTab.py +++ b/BlocksScreen/lib/panels/printTab.py @@ -342,7 +342,6 @@ def setProperty(self, name: str, value: typing.Any) -> bool: def handle_cancel_print(self) -> None: """Handles the print cancel action""" self.ws.api.cancel_print() - self.on_cancel_print.emit() self.loadscreen.show() self.loadscreen.setModal(True) self.loadwidget.set_status_message("Cancelling print...\nPlease wait") diff --git a/BlocksScreen/lib/panels/widgets/jobStatusPage.py b/BlocksScreen/lib/panels/widgets/jobStatusPage.py index bbce76a3..9b225a3a 100644 --- a/BlocksScreen/lib/panels/widgets/jobStatusPage.py +++ b/BlocksScreen/lib/panels/widgets/jobStatusPage.py @@ -222,6 +222,36 @@ def _handle_print_state(self, state: str) -> None: self.show_request.emit() lstate = "start" elif lstate in invalid_states: + if lstate == "complete": + try: + instance = QtWidgets.QApplication.instance() + if instance: + instance.postEvent(self.window(), events.PrintComplete(data={})) + else: + raise TypeError("QApplication.instance expected non None value") + except Exception as e: + logger.debug("Unexpected error while completing print job start event: %s", e) + # this one must stay bc of moonraker cancel there + if lstate == "cancelled": + print_cancel_event = events.PrintCancelled(data={}) + try: + instance = QtWidgets.QApplication.instance() + if instance: + instance.postEvent(self.window(), print_cancel_event) + else: + raise TypeError("QApplication.instance expected non None value") + except Exception as e: + logger.debug("Unexpected error while completing print job start event: %s", e) + if lstate == "error": + print_error_event = events.PrintError(data={}) + try: + instance = QtWidgets.QApplication.instance() + if instance: + instance.postEvent(self.window(), print_error_event) + else: + raise TypeError("QApplication.instance expected non None value") + except Exception as e: + logger.debug("Unexpected error while completing print job start event: %s", e) self._current_file_name = "" self._internal_print_status = "" self.total_layers = "?" From 637a7e085c395c8a0b3294bdb9abfe559d9a08a3 Mon Sep 17 00:00:00 2001 From: Roberto Date: Thu, 8 Jan 2026 13:43:02 +0000 Subject: [PATCH 2/2] Refactor: ran ruff formatter --- BlocksScreen/lib/panels/mainWindow.py | 4 ++-- BlocksScreen/lib/panels/widgets/jobStatusPage.py | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/BlocksScreen/lib/panels/mainWindow.py b/BlocksScreen/lib/panels/mainWindow.py index 0c1003f6..e72ff534 100644 --- a/BlocksScreen/lib/panels/mainWindow.py +++ b/BlocksScreen/lib/panels/mainWindow.py @@ -86,7 +86,7 @@ def __init__(self): self.filamentPanel = FilamentTab(self.ui.filamentTab, self.printer, self.ws) self.controlPanel = ControlTab(self.ui.controlTab, self.ws, self.printer) self.utilitiesPanel = UtilitiesTab(self.ui.utilitiesTab, self.ws, self.printer) - #self.networkPanel = NetworkControlWindow(self) + self.networkPanel = NetworkControlWindow(self) self.bo_ws_startup.connect(slot=self.bo_start_websocket_connection) self.ws.connecting_signal.connect(self.conn_window.on_websocket_connecting) self.ws.connected_signal.connect( @@ -643,7 +643,7 @@ def event(self, event: QtCore.QEvent) -> bool: if event.type() in ( events.PrintError.type(), events.PrintComplete.type(), - events.PrintCancelled.type() + events.PrintCancelled.type(), ): self.enable_tab_bar() self.ui.extruder_temp_display.clicked.disconnect() diff --git a/BlocksScreen/lib/panels/widgets/jobStatusPage.py b/BlocksScreen/lib/panels/widgets/jobStatusPage.py index 9b225a3a..7fc82a11 100644 --- a/BlocksScreen/lib/panels/widgets/jobStatusPage.py +++ b/BlocksScreen/lib/panels/widgets/jobStatusPage.py @@ -230,7 +230,9 @@ def _handle_print_state(self, state: str) -> None: else: raise TypeError("QApplication.instance expected non None value") except Exception as e: - logger.debug("Unexpected error while completing print job start event: %s", e) + logger.debug( + "Unexpected error while completing print job start event: %s", e + ) # this one must stay bc of moonraker cancel there if lstate == "cancelled": print_cancel_event = events.PrintCancelled(data={}) @@ -241,7 +243,9 @@ def _handle_print_state(self, state: str) -> None: else: raise TypeError("QApplication.instance expected non None value") except Exception as e: - logger.debug("Unexpected error while completing print job start event: %s", e) + logger.debug( + "Unexpected error while completing print job start event: %s", e + ) if lstate == "error": print_error_event = events.PrintError(data={}) try: @@ -251,7 +255,9 @@ def _handle_print_state(self, state: str) -> None: else: raise TypeError("QApplication.instance expected non None value") except Exception as e: - logger.debug("Unexpected error while completing print job start event: %s", e) + logger.debug( + "Unexpected error while completing print job start event: %s", e + ) self._current_file_name = "" self._internal_print_status = "" self.total_layers = "?"