wip card on hover

This commit is contained in:
2026-05-29 16:52:38 +02:00
parent 2042fbb357
commit 4e85fb6a74
2 changed files with 116 additions and 2 deletions
@@ -97,6 +97,7 @@ def test_beamline_state_pill_uses_card_style_when_expanded(qtbot, mocked_client)
qtbot.addWidget(widget)
assert "qlineargradient" not in widget.styleSheet()
assert "#BeamlineStatePill {background: transparent" in widget.styleSheet()
widget._toggle_expanded()
@@ -104,6 +105,18 @@ def test_beamline_state_pill_uses_card_style_when_expanded(qtbot, mocked_client)
assert widget._shadow.isEnabled()
def test_beamline_state_pill_can_keep_idle_background(qtbot, mocked_client):
widget = BeamlineStatePill(state_name="limits", title="Limits", client=mocked_client)
qtbot.addWidget(widget)
assert "#BeamlineStatePill {background: transparent" in widget.styleSheet()
widget.card_background_mode = "always"
assert "#BeamlineStatePill {background: transparent" not in widget.styleSheet()
assert "qlineargradient" not in widget.styleSheet()
def test_beamline_state_pill_uses_card_style_when_hovered(qtbot, mocked_client):
widget = BeamlineStatePill(state_name="limits", title="Limits", client=mocked_client)
qtbot.addWidget(widget)
@@ -208,6 +221,31 @@ def test_beamline_state_manager_propagates_drag_payload_mode(qtbot, mocked_clien
assert widget._state_pills["limits"].drag_payload_mode == "config"
def test_beamline_state_manager_propagates_card_background_mode(qtbot, mocked_client):
widget = BeamlineStateManager(client=mocked_client, card_background_mode="always")
qtbot.addWidget(widget)
widget.update_available_states(
{
"states": [
{
"name": "limits",
"title": "Limits",
"state_type": "DeviceWithinLimitsState",
"parameters": {"device": "samx"},
}
]
},
{},
)
assert widget._state_pills["limits"].card_background_mode == "always"
widget.card_background_mode = "hover"
assert widget._state_pills["limits"].card_background_mode == "hover"
def test_beamline_state_manager_filters_status(qtbot, mocked_client):
widget = BeamlineStateManager(client=mocked_client)
qtbot.addWidget(widget)