diff --git a/src/aare/gui/main_window.py b/src/aare/gui/main_window.py index 11b47582..a12c13f6 100644 --- a/src/aare/gui/main_window.py +++ b/src/aare/gui/main_window.py @@ -327,14 +327,8 @@ class MainWindow(QMainWindow): # Dewar-tabs look: first banner flush under the tab bar (no top # margin) and the tab row starting at the banners' left edge. The # Experiment side needs two levels: the frame AND its first panel. - beamline_first = ( - self.monochromator_panel if self._decoded_token.staff else self.samcam - ) - for first in ( - beamline_first, - self.data_collection, - self.data_collection.file_path_panel, - ): + beamline_first = self.monochromator_panel if self._decoded_token.staff else self.samcam + for first in (beamline_first, self.data_collection, self.data_collection.file_path_panel): first_layout = first.layout() assert first_layout is not None # panels build their layouts in __init__ m = first_layout.contentsMargins() @@ -342,8 +336,7 @@ class MainWindow(QMainWindow): samcam_layout = self.samcam.layout() assert samcam_layout is not None self.left_column_tabs.setStyleSheet( - "QTabWidget::tab-bar {" - f" left: {samcam_layout.contentsMargins().left()}px; }}" + f"QTabWidget::tab-bar {{ left: {samcam_layout.contentsMargins().left()}px; }}" ) self.left_column_layout.addWidget(self.left_column_tabs) @@ -806,9 +799,7 @@ class MainWindow(QMainWindow): self.samcam.changed.connect(self.daq.samcam_settings) self.samcam.screenshot_requested.connect(self.daq.send_screenshot_db) - self.samcam.save_beam_location_setting.connect( - self.daq.save_beam_location_camera_setting - ) + self.samcam.save_beam_location_setting.connect(self.daq.save_beam_location_camera_setting) self.data_collection.find_tip.clicked.connect(self.daq.center_loop) self.data_collection.bounding_box.clicked.connect(self.daq.ml_bounding_box) self.daq.raster_generated_by_ml.connect(self.raster.update_active_grid_request) @@ -850,15 +841,11 @@ class MainWindow(QMainWindow): self.samcam.show_detection_polygons_changed.connect( self.sample_camera.set_show_detection_polygons ) - self.samcam.show_target_point_changed.connect( - self.sample_camera.set_show_target_point - ) + self.samcam.show_target_point_changed.connect(self.sample_camera.set_show_target_point) self.samcam.show_target_coordinates_changed.connect( self.sample_camera.set_show_target_coordinates ) - self.samcam.show_overlay_legend_changed.connect( - self.sample_camera.set_show_overlay_legend - ) + self.samcam.show_overlay_legend_changed.connect(self.sample_camera.set_show_overlay_legend) self.samcam.compact_overlay_legend_changed.connect( self.sample_camera.set_compact_overlay_legend ) @@ -2312,18 +2299,11 @@ class MainWindow(QMainWindow): # No baton -> watching only: camera views stay live, every operating # surface is greyed. The SESSION VACANT badge (and the status bar # session menu) remain the way back in. - owned = session_state in ( - SessionsStateEnum.OwnedByYou, - SessionsStateEnum.PendingElseToYou, - ) + owned = session_state in (SessionsStateEnum.OwnedByYou, SessionsStateEnum.PendingElseToYou) if owned == getattr(self, "_session_operations_enabled", None): return self._session_operations_enabled = owned - for widget in ( - self.left_column_tabs, - self.beamline, - self.tell_samples_dock.widget(), - ): + for widget in (self.left_column_tabs, self.beamline, self.tell_samples_dock.widget()): widget.setEnabled(owned) if owned: # None clears the effect (Qt API contract); the PySide6 stub diff --git a/src/aare/gui/panels/abr_tweak_panel.py b/src/aare/gui/panels/abr_tweak_panel.py index 14b68100..d2ee5e35 100644 --- a/src/aare/gui/panels/abr_tweak_panel.py +++ b/src/aare/gui/panels/abr_tweak_panel.py @@ -93,7 +93,13 @@ class AbrTweakWidget(QWidget): grid_layout = QGridLayout(self) - grid_layout.addWidget(TitleLabel("ABR meas. pos.", self, collapsible=True, default_collapsed=False), 0, 0, 1, 2) + grid_layout.addWidget( + TitleLabel("ABR meas. pos.", self, collapsible=True, default_collapsed=False), + 0, + 0, + 1, + 2, + ) self._abr_buttons = AbrTweakButtons(DEFAULT_ABR_STEP_UM / 1000, parent=self) grid_layout.addWidget(self._abr_buttons, 1, 0) diff --git a/src/aare/gui/panels/automation_panel.py b/src/aare/gui/panels/automation_panel.py index 1a1c3181..fbac3819 100644 --- a/src/aare/gui/panels/automation_panel.py +++ b/src/aare/gui/panels/automation_panel.py @@ -147,10 +147,7 @@ class AutomationProgressWidget(QWidget): @staticmethod def _style_for_status(status: StepStatus) -> str: - base = ( - "padding: 10px 12px; " - f"font-size: {FONT_BODY}; border: 1px solid transparent;" - ) + base = f"padding: 10px 12px; font-size: {FONT_BODY}; border: 1px solid transparent;" if status == StepStatus.SUCCESS: return ( @@ -329,4 +326,3 @@ class AutomationProgressWidget(QWidget): label.setText(f"{icon} {title}{duration_str}{message}{error_str}") label.setStyleSheet(self._style_for_status(step_state.status)) - diff --git a/src/aare/gui/panels/beamline_controls.py b/src/aare/gui/panels/beamline_controls.py index 7266cd50..01e3d4b1 100644 --- a/src/aare/gui/panels/beamline_controls.py +++ b/src/aare/gui/panels/beamline_controls.py @@ -20,7 +20,9 @@ class BeamConfigPanel(QWidget): # panels' banners in the column. layout = QVBoxLayout(self) layout.setSpacing(0) - layout.addWidget(TitleLabel("Beam configuration", self, collapsible=True, default_collapsed=False)) + layout.addWidget( + TitleLabel("Beam configuration", self, collapsible=True, default_collapsed=False) + ) self.beam_mark = BeamMarkWidget(self) self.beam_center = BeamCenterWidget(self) self.beam_size = BeamSizeWidget(self) diff --git a/src/aare/gui/panels/data_collection_settings.py b/src/aare/gui/panels/data_collection_settings.py index 71ea0e9b..8e2bdb7d 100644 --- a/src/aare/gui/panels/data_collection_settings.py +++ b/src/aare/gui/panels/data_collection_settings.py @@ -139,9 +139,7 @@ class DataCollectionSettings(QFrame): # hidden pages makes the stack track only the current page's height. for i in range(self._stack.count()): page = self._stack.widget(i) - vertical = ( - QSizePolicy.Policy.Preferred if i == idx else QSizePolicy.Policy.Ignored - ) + vertical = QSizePolicy.Policy.Preferred if i == idx else QSizePolicy.Policy.Ignored page.setSizePolicy(QSizePolicy.Policy.Preferred, vertical) self._stack.adjustSize() diff --git a/src/aare/gui/panels/file_path_panel.py b/src/aare/gui/panels/file_path_panel.py index cd9b46bb..d162ccef 100644 --- a/src/aare/gui/panels/file_path_panel.py +++ b/src/aare/gui/panels/file_path_panel.py @@ -41,7 +41,9 @@ class FilePathPanel(QWidget): self._formatted_date = datetime.now().strftime("%Y%m%d") - grid_layout.addWidget(TitleLabel("Dataset path", self, collapsible=True, default_collapsed=False), 0, 0, 1, 2) + grid_layout.addWidget( + TitleLabel("Dataset path", self, collapsible=True, default_collapsed=False), 0, 0, 1, 2 + ) grid_layout.addWidget(QLabel("Directory", parent=self), 1, 0) self.directory_edit = QLineEdit("{date}/{puck}/{pos}", parent=self) diff --git a/src/aare/gui/panels/illumination_panel.py b/src/aare/gui/panels/illumination_panel.py index 69f1e04a..160d00df 100644 --- a/src/aare/gui/panels/illumination_panel.py +++ b/src/aare/gui/panels/illumination_panel.py @@ -13,7 +13,9 @@ class IlluminationPanel(QWidget): super().__init__(parent) grid_layout = QGridLayout(self) - grid_layout.addWidget(TitleLabel("Light", self, collapsible=True, default_collapsed=False), 0, 0, 1, 2) + grid_layout.addWidget( + TitleLabel("Light", self, collapsible=True, default_collapsed=False), 0, 0, 1, 2 + ) front_label = QLabel("Front light", parent=self) front_label.setAlignment(Qt.AlignmentFlag.AlignCenter) diff --git a/src/aare/gui/panels/monochromator_panel.py b/src/aare/gui/panels/monochromator_panel.py index a5c76cc7..c12982f3 100644 --- a/src/aare/gui/panels/monochromator_panel.py +++ b/src/aare/gui/panels/monochromator_panel.py @@ -13,7 +13,9 @@ class MonochromatorPanel(QWidget): super().__init__(parent) grid_layout = QGridLayout(self) - grid_layout.addWidget(TitleLabel("Monochromator", self, collapsible=True, default_collapsed=False), 0, 0, 1, 3) + grid_layout.addWidget( + TitleLabel("Monochromator", self, collapsible=True, default_collapsed=False), 0, 0, 1, 3 + ) self.mono_pitch_scan_button = QPushButton("Mono Pitch Scan", parent=self) self.mono_pitch_scan_button.clicked.connect(self.mono_pitch_scan.emit) diff --git a/src/aare/gui/panels/omega_panel.py b/src/aare/gui/panels/omega_panel.py index 9e764cd2..52260b54 100644 --- a/src/aare/gui/panels/omega_panel.py +++ b/src/aare/gui/panels/omega_panel.py @@ -29,7 +29,9 @@ class OmegaPanel(QWidget): grid_layout = QGridLayout(self) - grid_layout.addWidget(TitleLabel("Omega", self, collapsible=True, default_collapsed=False), 0, 0, 1, 2) + grid_layout.addWidget( + TitleLabel("Omega", self, collapsible=True, default_collapsed=False), 0, 0, 1, 2 + ) grid_layout.setColumnStretch(0, 1) grid_layout.setColumnStretch(1, 1) omega_settings = [ diff --git a/src/aare/gui/panels/raster_data_collection.py b/src/aare/gui/panels/raster_data_collection.py index d272dbfd..57f18ea9 100644 --- a/src/aare/gui/panels/raster_data_collection.py +++ b/src/aare/gui/panels/raster_data_collection.py @@ -2,13 +2,7 @@ from aarecommon.config.logger import setup_logger from aarecommon.math.diffraction_geometry import DiffractionGeometry from aarecommon.models.models import BeamlineStateEnum, DAQStatusModel from PySide6.QtCore import Qt, Signal, Slot -from PySide6.QtWidgets import ( - QComboBox, - QLabel, - QMessageBox, - QPushButton, - QSlider, -) +from PySide6.QtWidgets import QComboBox, QLabel, QMessageBox, QPushButton, QSlider from aare.gui.constants import LOGGER_NAME from aare.gui.panels.scan_settings_panel import ScanSettingsPanel diff --git a/src/aare/gui/panels/reference_tools_panel.py b/src/aare/gui/panels/reference_tools_panel.py index 0c22e4fc..09c409fc 100644 --- a/src/aare/gui/panels/reference_tools_panel.py +++ b/src/aare/gui/panels/reference_tools_panel.py @@ -4,14 +4,7 @@ from aarecommon.config.logger import setup_logger from aarecommon.models.models import DAQStatusModel, SampleShortInfo, SampleShortInfoList from PySide6.QtCore import QAbstractTableModel, QModelIndex, Qt, Signal, Slot from PySide6.QtGui import QBrush -from PySide6.QtWidgets import ( - QAbstractItemView, - QFrame, - QGridLayout, - QHeaderView, - QMenu, - QTableView, -) +from PySide6.QtWidgets import QAbstractItemView, QFrame, QGridLayout, QHeaderView, QMenu, QTableView from aare.gui.constants import LOGGER_NAME from aare.gui.styles import SAMPLE_ROW_QUEUED_BG, WHITE, qcolor diff --git a/src/aare/gui/panels/samcam_panel.py b/src/aare/gui/panels/samcam_panel.py index 0e91593f..55e520a3 100644 --- a/src/aare/gui/panels/samcam_panel.py +++ b/src/aare/gui/panels/samcam_panel.py @@ -37,7 +37,9 @@ class SamcamPanel(QWidget): # Create layout layout = QVBoxLayout() - layout.addWidget(TitleLabel("Sample camera", self, collapsible=True, default_collapsed=False)) + layout.addWidget( + TitleLabel("Sample camera", self, collapsible=True, default_collapsed=False) + ) # Exposure + gain share one row to save vertical space. exposure_gain_layout = QHBoxLayout() diff --git a/src/aare/gui/panels/smargon_panel.py b/src/aare/gui/panels/smargon_panel.py index 9c580613..3ed71dce 100644 --- a/src/aare/gui/panels/smargon_panel.py +++ b/src/aare/gui/panels/smargon_panel.py @@ -58,7 +58,9 @@ class SmargonPanel(QWidget): grid_layout = QGridLayout(self) - grid_layout.addWidget(TitleLabel("Smargon", self, collapsible=True, default_collapsed=False), 0, 0, 1, 6) + grid_layout.addWidget( + TitleLabel("Smargon", self, collapsible=True, default_collapsed=False), 0, 0, 1, 6 + ) grid_layout.addWidget(QLabel("Chi", parent=self), 1, 0) self.chi_enter = NumberLineEdit(-0.2, 40, decimals=1, parent=self) diff --git a/src/aare/gui/panels/zoom_panel.py b/src/aare/gui/panels/zoom_panel.py index 850a6139..6ae14f56 100644 --- a/src/aare/gui/panels/zoom_panel.py +++ b/src/aare/gui/panels/zoom_panel.py @@ -23,7 +23,9 @@ class ZoomPanel(QWidget): {"name": "7.5x", "value": 800}, {"name": "12.5x", "value": 1000}, ] - grid_layout.addWidget(TitleLabel("Zoom", self, collapsible=True, default_collapsed=False), 0, 0, 1, 2) + grid_layout.addWidget( + TitleLabel("Zoom", self, collapsible=True, default_collapsed=False), 0, 0, 1, 2 + ) i = 2 self._buttons = [] diff --git a/src/aare/gui/widgets/camera_image.py b/src/aare/gui/widgets/camera_image.py index dc225ab8..1e117e02 100644 --- a/src/aare/gui/widgets/camera_image.py +++ b/src/aare/gui/widgets/camera_image.py @@ -429,9 +429,7 @@ class SampleCameraImageLabel(QGraphicsView): if ( event.button() == Qt.MouseButton.LeftButton and self._legend_hit_rect is not None - and self._legend_hit_rect.contains( - QPointF(self.viewport().mapFrom(self, event.pos())) - ) + and self._legend_hit_rect.contains(QPointF(self.viewport().mapFrom(self, event.pos()))) ): self._legend_expanded = not self._legend_expanded self.update() diff --git a/src/aare/gui/widgets/popout_window.py b/src/aare/gui/widgets/popout_window.py index a27e143b..8d224e49 100644 --- a/src/aare/gui/widgets/popout_window.py +++ b/src/aare/gui/widgets/popout_window.py @@ -1,13 +1,6 @@ from PySide6.QtCore import QPoint, QRect, QSize, Qt from PySide6.QtGui import QCursor, QGuiApplication, QIcon, QPainter, QPen, QPixmap -from PySide6.QtWidgets import ( - QDockWidget, - QHBoxLayout, - QLabel, - QToolButton, - QVBoxLayout, - QWidget, -) +from PySide6.QtWidgets import QDockWidget, QHBoxLayout, QLabel, QToolButton, QVBoxLayout, QWidget from aare.gui.styles import FRAME_L1_COLOR, FRAME_L1_WIDTH, TEXT, qcolor diff --git a/src/aare/gui/widgets/splash_screen.py b/src/aare/gui/widgets/splash_screen.py index 314f56c0..84a4bd37 100644 --- a/src/aare/gui/widgets/splash_screen.py +++ b/src/aare/gui/widgets/splash_screen.py @@ -27,5 +27,7 @@ class LoadingSplashScreen(QSplashScreen): def set_progress(self, value, message=None): self.progress.setValue(value) if message: - self.showMessage(message, Qt.AlignBottom | Qt.AlignCenter, qcolor(WHITE)) + self.showMessage( + message, Qt.AlignmentFlag.AlignBottom | Qt.AlignmentFlag.AlignCenter, qcolor(WHITE) + ) QApplication.processEvents() diff --git a/src/aare/gui/widgets/title_label.py b/src/aare/gui/widgets/title_label.py index 8eb1a5a7..13fc734b 100644 --- a/src/aare/gui/widgets/title_label.py +++ b/src/aare/gui/widgets/title_label.py @@ -49,11 +49,7 @@ def section_title(text: str, parent=None) -> QLabel: class TitleLabel(QLabel): def __init__( - self, - text: str, - parent=None, - collapsible: bool = False, - default_collapsed: bool = True, + self, text: str, parent=None, collapsible: bool = False, default_collapsed: bool = True ): super().__init__(parent) # Plain text + QSS font instead of

: rich-text heading margins