"""Opens the Settings dialog and runs a callback afterward — shared by the Sandbox Details and Permissions cards' "Edit" buttons, both of which used to call the identical ``MonitoringTab._open_settings_and_refresh``. """ from __future__ import annotations from typing import Callable from PySide6.QtWidgets import QWidget def open_settings_and_notify(ctx, parent: QWidget, on_changed: Callable[[], None]) -> None: from ....ui.settings_dialog import SettingsDialog dlg = SettingsDialog(ctx, parent) dlg.exec() on_changed()