From 732e984d33f41a422ffb64e4edc58be16aeebd17 Mon Sep 17 00:00:00 2001 From: Roberto Date: Fri, 9 Jan 2026 14:50:21 +0000 Subject: [PATCH 1/5] bugfix: multiple connects signals --- BlocksScreen/lib/panels/widgets/basePopup.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/BlocksScreen/lib/panels/widgets/basePopup.py b/BlocksScreen/lib/panels/widgets/basePopup.py index e9ebe5d3..0a0dd9a9 100644 --- a/BlocksScreen/lib/panels/widgets/basePopup.py +++ b/BlocksScreen/lib/panels/widgets/basePopup.py @@ -26,13 +26,13 @@ def __init__( dialog: bool = True, ) -> None: super().__init__(parent) - self.setWindowFlags( - QtCore.Qt.WindowType.Popup | QtCore.Qt.WindowType.FramelessWindowHint + QtCore.Qt.WindowType.Dialog | + QtCore.Qt.WindowType.FramelessWindowHint | + QtCore.Qt.WindowType.CustomizeWindowHint ) self.floating = floating self.dialog = dialog - # Color Variables self.btns_text_color = "#ffffff" self.cancel_bk_color = "#F44336" @@ -59,8 +59,7 @@ def _update_button_style(self) -> None: if not self.dialog: return - self.confirm_button.clicked.connect(self.accept) - self.cancel_button.clicked.connect(self.reject) + if not self.floating: self.confirm_button.setStyleSheet( @@ -252,5 +251,6 @@ def setupUI(self) -> None: self.cancel_button.setStyleSheet("background: transparent;") self.hlauyout.addWidget(self.confirm_button) self.hlauyout.addWidget(self.cancel_button) - + self.confirm_button.clicked.connect(self.accept) + self.cancel_button.clicked.connect(self.reject) self._update_button_style() From 7b05552f5a6ed2ea11ea637e2feaca91f7dc45f3 Mon Sep 17 00:00:00 2001 From: Roberto Date: Fri, 9 Jan 2026 15:03:03 +0000 Subject: [PATCH 2/5] bugifx: loadcreen having button --- BlocksScreen/lib/panels/widgets/probeHelperPage.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BlocksScreen/lib/panels/widgets/probeHelperPage.py b/BlocksScreen/lib/panels/widgets/probeHelperPage.py index 6a632f4d..8dcfb929 100644 --- a/BlocksScreen/lib/panels/widgets/probeHelperPage.py +++ b/BlocksScreen/lib/panels/widgets/probeHelperPage.py @@ -50,7 +50,7 @@ class ProbeHelper(QtWidgets.QWidget): def __init__(self, parent: QtWidgets.QWidget) -> None: super().__init__(parent) - self.Loadscreen = BasePopup(self) + self.Loadscreen = BasePopup(self,dialog = False) self.loadwidget = LoadingOverlayWidget( self, LoadingOverlayWidget.AnimationGIF.PLACEHOLDER ) From 7b0675b462cf6e7ab02628a5bad48d4702602611 Mon Sep 17 00:00:00 2001 From: Roberto Date: Fri, 9 Jan 2026 15:11:10 +0000 Subject: [PATCH 3/5] bugfix: fixed input shaper after merge --- BlocksScreen/lib/panels/utilitiesTab.py | 16 +++++----------- .../lib/panels/widgets/inputshaperPage.py | 2 +- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/BlocksScreen/lib/panels/utilitiesTab.py b/BlocksScreen/lib/panels/utilitiesTab.py index 1c9d0fa2..3c685581 100644 --- a/BlocksScreen/lib/panels/utilitiesTab.py +++ b/BlocksScreen/lib/panels/utilitiesTab.py @@ -120,7 +120,7 @@ def __init__( # --- UI Setup --- self.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.loadPage = BasePopup(self) + self.loadPage = BasePopup(self,dialog = False) self.loadwidget = LoadingOverlayWidget( self, LoadingOverlayWidget.AnimationGIF.DEFAULT ) @@ -233,6 +233,7 @@ def __init__( QtGui.QPixmap(":/system/media/btn_icons/update-software-icon.svg") ) + # ---- Input Shaper ---- self.automatic_is = OptionCard( self, "Automatic\nInput Shaper", @@ -261,6 +262,8 @@ def __init__( self.is_types: dict = {} self.is_aut_types: dict = {} + self.dialog_page.accepted.connect(lambda:self.handle_is("SHAPER_CALIBRATE AXIS=Y")) + self.dialog_page.rejected.connect(lambda:self.handle_is("SHAPER_CALIBRATE AXIS=X")) self.is_page.action_btn.clicked.connect( lambda: self.change_page(self.indexOf(self.panel.input_shaper_page)) @@ -349,21 +352,12 @@ def handle_gcode_response(self, data: list[str]) -> None: self.loadPage.hide() return - def on_dialog_button_clicked(self, button_name: str) -> None: - print(button_name) - """Handle dialog button clicks""" - if button_name == "Confirm": - self.handle_is("SHAPER_CALIBRATE AXIS=Y") - elif button_name == "Cancel": - self.handle_is("SHAPER_CALIBRATE AXIS=X") - def handle_is(self, gcode: str) -> None: if gcode == "SHAPER_CALIBRATE": self.run_gcode_signal.emit("G28\nM400") self.aut = True self.run_gcode_signal.emit(gcode) - if gcode == "": - print("manual Input Shaper Selected") + elif gcode == "": self.dialog_page.confirm_background_color("#dfdfdf") self.dialog_page.cancel_background_color("#dfdfdf") self.dialog_page.cancel_font_color("#000000") diff --git a/BlocksScreen/lib/panels/widgets/inputshaperPage.py b/BlocksScreen/lib/panels/widgets/inputshaperPage.py index d96f543a..539dcaf4 100644 --- a/BlocksScreen/lib/panels/widgets/inputshaperPage.py +++ b/BlocksScreen/lib/panels/widgets/inputshaperPage.py @@ -398,7 +398,7 @@ def _setupUI(self) -> None: self.info_box.addWidget(self.vib_label, 0, 1) self.sug_accel_title_label = QtWidgets.QLabel(self) - self.sug_accel_title_label.setText("Sugested Max Acceleration:") + self.sug_accel_title_label.setText("Sugested Max\nAcceleration:") self.sug_accel_title_label.setMinimumSize(QtCore.QSize(60, 60)) self.sug_accel_title_label.setMaximumSize( QtCore.QSize(int(self.infobox_frame.size().width() * 0.40), 9999) From 9d3d3f2572c71e30d4893dc2934bb5bec49f3f03 Mon Sep 17 00:00:00 2001 From: Roberto Date: Fri, 9 Jan 2026 15:59:05 +0000 Subject: [PATCH 4/5] Bugfix: being able to click behind the popup --- BlocksScreen/lib/panels/widgets/basePopup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/BlocksScreen/lib/panels/widgets/basePopup.py b/BlocksScreen/lib/panels/widgets/basePopup.py index 0a0dd9a9..c411262f 100644 --- a/BlocksScreen/lib/panels/widgets/basePopup.py +++ b/BlocksScreen/lib/panels/widgets/basePopup.py @@ -45,6 +45,7 @@ def __init__( if floating: self.setAttribute(QtCore.Qt.WidgetAttribute.WA_TranslucentBackground, True) + self.setWindowModality(QtCore.Qt.WindowModality.ApplicationModal) else: self.setStyleSheet( """ From 4ecc87176a3b8ab65e76599476246bb2e4af6ea6 Mon Sep 17 00:00:00 2001 From: Roberto Date: Mon, 12 Jan 2026 10:00:46 +0000 Subject: [PATCH 5/5] Refactor: ran ruff formatter --- BlocksScreen/lib/panels/utilitiesTab.py | 10 +++++++--- BlocksScreen/lib/panels/widgets/basePopup.py | 8 +++----- BlocksScreen/lib/panels/widgets/probeHelperPage.py | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/BlocksScreen/lib/panels/utilitiesTab.py b/BlocksScreen/lib/panels/utilitiesTab.py index 3c685581..c57aff47 100644 --- a/BlocksScreen/lib/panels/utilitiesTab.py +++ b/BlocksScreen/lib/panels/utilitiesTab.py @@ -120,7 +120,7 @@ def __init__( # --- UI Setup --- self.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.loadPage = BasePopup(self,dialog = False) + self.loadPage = BasePopup(self, dialog=False) self.loadwidget = LoadingOverlayWidget( self, LoadingOverlayWidget.AnimationGIF.DEFAULT ) @@ -262,8 +262,12 @@ def __init__( self.is_types: dict = {} self.is_aut_types: dict = {} - self.dialog_page.accepted.connect(lambda:self.handle_is("SHAPER_CALIBRATE AXIS=Y")) - self.dialog_page.rejected.connect(lambda:self.handle_is("SHAPER_CALIBRATE AXIS=X")) + self.dialog_page.accepted.connect( + lambda: self.handle_is("SHAPER_CALIBRATE AXIS=Y") + ) + self.dialog_page.rejected.connect( + lambda: self.handle_is("SHAPER_CALIBRATE AXIS=X") + ) self.is_page.action_btn.clicked.connect( lambda: self.change_page(self.indexOf(self.panel.input_shaper_page)) diff --git a/BlocksScreen/lib/panels/widgets/basePopup.py b/BlocksScreen/lib/panels/widgets/basePopup.py index c411262f..a9a4d188 100644 --- a/BlocksScreen/lib/panels/widgets/basePopup.py +++ b/BlocksScreen/lib/panels/widgets/basePopup.py @@ -27,9 +27,9 @@ def __init__( ) -> None: super().__init__(parent) self.setWindowFlags( - QtCore.Qt.WindowType.Dialog | - QtCore.Qt.WindowType.FramelessWindowHint | - QtCore.Qt.WindowType.CustomizeWindowHint + QtCore.Qt.WindowType.Dialog + | QtCore.Qt.WindowType.FramelessWindowHint + | QtCore.Qt.WindowType.CustomizeWindowHint ) self.floating = floating self.dialog = dialog @@ -60,8 +60,6 @@ def _update_button_style(self) -> None: if not self.dialog: return - - if not self.floating: self.confirm_button.setStyleSheet( f""" diff --git a/BlocksScreen/lib/panels/widgets/probeHelperPage.py b/BlocksScreen/lib/panels/widgets/probeHelperPage.py index 8dcfb929..a3dea377 100644 --- a/BlocksScreen/lib/panels/widgets/probeHelperPage.py +++ b/BlocksScreen/lib/panels/widgets/probeHelperPage.py @@ -50,7 +50,7 @@ class ProbeHelper(QtWidgets.QWidget): def __init__(self, parent: QtWidgets.QWidget) -> None: super().__init__(parent) - self.Loadscreen = BasePopup(self,dialog = False) + self.Loadscreen = BasePopup(self, dialog=False) self.loadwidget = LoadingOverlayWidget( self, LoadingOverlayWidget.AnimationGIF.PLACEHOLDER )