style: ruff-format the ported round, scope splash Qt enums
CI / lint (push) Skipped
CI / test (3.11) (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / test (3.11) (pull_request) Successful in 58s
CI / test (3.12) (pull_request) Successful in 58s
CI / test (3.13) (pull_request) Successful in 1m1s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m1s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m3s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m18s
CI / test-with-coverage (pull_request) Successful in 1m30s
CI / coverage-analysis (pull_request) Failing after 4s
CI / lint (pull_request) Failing after 2m21s

The sandbox port was ruff-check clean but not ruff-format clean (CI
formats before linting); splash_screen's alignment flags move to the
scoped enum since the port put that line into the diff gate's scope.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
duan_jandClaude Fable 5 committed 2026-08-07 17:26:14 +02:00
1 parent 4d2a767ad1
commit f4e35ee9a6
18 files changed
+49 -77

No files matched your search

+8 -28
View File
@@ -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
+7 -1
View File
@@ -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)
+1 -5
View File
@@ -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} <b>{title}</b>{duration_str}{message}{error_str}")
label.setStyleSheet(self._style_for_status(step_state.status))
+3 -1
View File
@@ -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)
@@ -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()
+3 -1
View File
@@ -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)
+3 -1
View File
@@ -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)
+3 -1
View File
@@ -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)
+3 -1
View File
@@ -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 = [
@@ -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
+1 -8
View File
@@ -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
+3 -1
View File
@@ -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()
+3 -1
View File
@@ -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)
+3 -1
View File
@@ -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 = []
+1 -3
View File
@@ -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()
+1 -8
View File
@@ -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
+3 -1
View File
@@ -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()
+1 -5
View File
@@ -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 <H3>: rich-text heading margins