From e3f763ff04fd2d5e0af64516967992cf7e76be14 Mon Sep 17 00:00:00 2001 From: Michael Walsh Date: Fri, 26 Sep 2025 10:34:23 -0400 Subject: [PATCH 1/3] handle sample dropdown enabling through signal --- src/snapred/ui/widget/SampleDropDown.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/snapred/ui/widget/SampleDropDown.py b/src/snapred/ui/widget/SampleDropDown.py index c9ba364a7..1066eb82e 100644 --- a/src/snapred/ui/widget/SampleDropDown.py +++ b/src/snapred/ui/widget/SampleDropDown.py @@ -1,9 +1,14 @@ + +from qtpy.QtCore import Signal, Slot from qtpy.QtWidgets import QComboBox, QVBoxLayout from snapred.ui.widget.SNAPWidget import SNAPWidget class SampleDropDown(SNAPWidget): + + signalSetEnabled = Signal(bool) + def __init__(self, label, items=[], parent=None): super(SampleDropDown, self).__init__(parent) self._label = label @@ -16,8 +21,14 @@ def __init__(self, label, items=[], parent=None): self._layout = QVBoxLayout(self) self._layout.addWidget(self.dropDown) + + self.signalSetEnabled.connect(self._setEnabled) def setEnabled(self, flag: bool): + self.signalSetEnabled.emit(flag) + + @Slot(bool) + def _setEnabled(self, flag: bool): if flag: self.dropDown.setVisible(True) self._disabledField.setVisible(False) From 53134591a52970cfd582d6600187da8f0f62d864 Mon Sep 17 00:00:00 2001 From: Michael Walsh Date: Fri, 26 Sep 2025 11:54:49 -0400 Subject: [PATCH 2/3] altering layouts in this case seems to cause a mac ctd --- src/snapred/ui/widget/SampleDropDown.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/snapred/ui/widget/SampleDropDown.py b/src/snapred/ui/widget/SampleDropDown.py index 1066eb82e..b7af6c083 100644 --- a/src/snapred/ui/widget/SampleDropDown.py +++ b/src/snapred/ui/widget/SampleDropDown.py @@ -29,18 +29,6 @@ def setEnabled(self, flag: bool): @Slot(bool) def _setEnabled(self, flag: bool): - if flag: - self.dropDown.setVisible(True) - self._disabledField.setVisible(False) - self._layout.addWidget(self.dropDown) - self._layout.removeWidget(self._disabledField) - else: - self.dropDown.setVisible(False) - self._disabledField.setVisible(True) - self._disabledField.setText(self.dropDown.currentText()) - self._layout.addWidget(self._disabledField) - self._layout.removeWidget(self.dropDown) - super(SampleDropDown, self).setEnabled(flag) def _initItems(self): From d004a807584d4b49e6acaab5417bc6f07b76a935 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 26 Sep 2025 15:55:42 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/snapred/ui/widget/SampleDropDown.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/snapred/ui/widget/SampleDropDown.py b/src/snapred/ui/widget/SampleDropDown.py index b7af6c083..a0ba6c954 100644 --- a/src/snapred/ui/widget/SampleDropDown.py +++ b/src/snapred/ui/widget/SampleDropDown.py @@ -1,4 +1,3 @@ - from qtpy.QtCore import Signal, Slot from qtpy.QtWidgets import QComboBox, QVBoxLayout @@ -6,9 +5,8 @@ class SampleDropDown(SNAPWidget): - signalSetEnabled = Signal(bool) - + def __init__(self, label, items=[], parent=None): super(SampleDropDown, self).__init__(parent) self._label = label @@ -21,7 +19,7 @@ def __init__(self, label, items=[], parent=None): self._layout = QVBoxLayout(self) self._layout.addWidget(self.dropDown) - + self.signalSetEnabled.connect(self._setEnabled) def setEnabled(self, flag: bool):