@@ -47,6 +47,7 @@ class LockingPanel(QtWidgets.QWidget):
4747 controlSignalHistoryLengthSpinBox : CustomSpinBox
4848 lockStatusLabel : QtWidgets .QLabel
4949 stopLockPushButton : QtWidgets .QPushButton
50+ relockPushButton : QtWidgets .QPushButton
5051 autolockAlgorithmGroupBox : QtWidgets .QGroupBox
5152 lockSettingsWidget : QtWidgets .QWidget
5253 manualLockSettingsWidget : QtWidgets .QWidget
@@ -68,6 +69,7 @@ def __init__(self, *args, **kwargs):
6869 self .controlSignalHistoryLengthSpinBox .valueChanged .connect (
6970 self .on_control_signal_history_length_changed
7071 )
72+ self .relockPushButton .clicked .connect (self .relock )
7173
7274 def on_connection_established (self ):
7375 self .parameters = self .app .parameters
@@ -122,6 +124,7 @@ def on_autolock_status_changed(self, status: AutolockStatus) -> None:
122124 self .stopLockPushButton .setVisible (
123125 status .value == AutolockStatus .LOCKED or status .value == AutolockStatus .LOST
124126 )
127+ self .relockPushButton .setVisible (status .value == AutolockStatus .LOST )
125128 self .autolockSelectingWidget .setVisible (
126129 status .value == AutolockStatus .SELECTING
127130 )
@@ -166,7 +169,9 @@ def reset_failed_lock(self):
166169 self .parameters .autolock_status .value = AutolockStatus .STOPPED
167170
168171 def stop_lock (self ):
169- if self .parameters .task .value is not None : # may be autolock or psd acquisition
170- self .parameters .autolock_status .value = AutolockStatus .STOPPED
171- self .parameters .task .value .stop ()
172- self .parameters .task .value = None
172+ self .parameters .autolock_status .value = AutolockStatus .STOPPED
173+ self .parameters .task .value .stop ()
174+ self .parameters .task .value = None
175+
176+ def relock (self ):
177+ self .parameters .task .value .relock ()
0 commit comments