diff --git a/BlocksScreen/lib/panels/utilitiesTab.py b/BlocksScreen/lib/panels/utilitiesTab.py index 1c9d0fa2..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) + 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,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.is_page.action_btn.clicked.connect( lambda: self.change_page(self.indexOf(self.panel.input_shaper_page)) @@ -349,21 +356,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/basePopup.py b/BlocksScreen/lib/panels/widgets/basePopup.py index e9ebe5d3..a9a4d188 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" @@ -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( """ @@ -59,9 +60,6 @@ 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( f""" @@ -252,5 +250,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() 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) diff --git a/BlocksScreen/lib/panels/widgets/probeHelperPage.py b/BlocksScreen/lib/panels/widgets/probeHelperPage.py index 6a632f4d..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) + self.Loadscreen = BasePopup(self, dialog=False) self.loadwidget = LoadingOverlayWidget( self, LoadingOverlayWidget.AnimationGIF.PLACEHOLDER )