Skip to content

Commit 0f520a8

Browse files
committed
Fix double refresh based on time info
1 parent 63b2c12 commit 0f520a8

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

spikeinterface_gui/basescatterview.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ def __init__(self, spike_data, y_label, controller=None, parent=None, backend="q
3232
self._lasso_vertices = {segment_index: None for segment_index in range(controller.num_segments)}
3333
# this is used in panel
3434
self._current_selected = 0
35+
self._block_auto_refresh_and_notify = False
3536

3637
ViewBase.__init__(self, controller=controller, parent=parent, backend=backend)
3738

@@ -164,11 +165,14 @@ def on_unit_visibility_changed(self):
164165
self._current_selected = self.controller.get_indices_spike_selected().size
165166
self.refresh()
166167

167-
def on_time_info_updated(self):
168-
return self.refresh()
168+
def _qt_on_time_info_updated(self):
169+
if self.combo_seg.currentIndex() != self.controller.get_time()[1]:
170+
self._block_auto_refresh_and_notify = True
171+
self.refresh()
172+
self._block_auto_refresh_and_notify = False
169173

170174
def on_use_times_updated(self):
171-
return self.refresh()
175+
self.refresh()
172176

173177
## QT zone ##
174178
def _qt_make_layout(self):
@@ -242,8 +246,9 @@ def _qt_on_spike_selection_changed(self):
242246
def _qt_change_segment(self):
243247
segment_index = self.combo_seg.currentIndex()
244248
self.controller.set_time(segment_index=segment_index)
245-
self.refresh()
246-
self.notify_time_info_updated()
249+
if not self._block_auto_refresh_and_notify:
250+
self.refresh()
251+
self.notify_time_info_updated()
247252

248253
def _qt_refresh(self):
249254
from .myqt import QT

spikeinterface_gui/spikerateview.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,16 @@ class SpikeRateView(ViewBase):
1111

1212
def __init__(self, controller=None, parent=None, backend="qt"):
1313
ViewBase.__init__(self, controller=controller, parent=parent, backend=backend)
14+
self._block_auto_refresh_and_notify = False
1415

1516
def _on_settings_changed(self):
1617
self.refresh()
1718

18-
def on_time_info_updated(self):
19-
self.refresh()
19+
def _qt_on_time_info_updated(self):
20+
if self.combo_seg.currentIndex() != self.controller.get_time()[1]:
21+
self._block_auto_refresh_and_notify = True
22+
self.refresh()
23+
self._block_auto_refresh_and_notify = False
2024

2125
def on_use_times_updated(self):
2226
self.refresh()
@@ -46,8 +50,9 @@ def _qt_make_layout(self):
4650
def _qt_change_segment(self):
4751
segment_index = self.combo_seg.currentIndex()
4852
self.controller.set_time(segment_index=segment_index)
49-
self.refresh()
50-
self.notify_time_info_updated()
53+
if not self._block_auto_refresh_and_notify:
54+
self.refresh()
55+
self.notify_time_info_updated()
5156

5257
def _qt_refresh(self):
5358
import pyqtgraph as pg

0 commit comments

Comments
 (0)