diff --git a/spikeinterface_gui/backend_qt.py b/spikeinterface_gui/backend_qt.py
index f3e10cc..c68ccfb 100644
--- a/spikeinterface_gui/backend_qt.py
+++ b/spikeinterface_gui/backend_qt.py
@@ -347,11 +347,11 @@ def refresh(self):
areas = {
- 'right' : QT.Qt.RightDockWidgetArea,
- 'left' : QT.Qt.LeftDockWidgetArea,
+ 'right' : QT.Qt.DockWidgetArea.RightDockWidgetArea,
+ 'left' : QT.Qt.DockWidgetArea.LeftDockWidgetArea,
}
orientations = {
- 'horizontal' : QT.Qt.Horizontal,
- 'vertical' : QT.Qt.Vertical,
+ 'horizontal' : QT.Qt.Orientation.Horizontal,
+ 'vertical' : QT.Qt.Orientation.Vertical,
}
diff --git a/spikeinterface_gui/curationview.py b/spikeinterface_gui/curationview.py
index b6ed141..5e971dd 100644
--- a/spikeinterface_gui/curationview.py
+++ b/spikeinterface_gui/curationview.py
@@ -63,12 +63,12 @@ def _qt_make_layout(self):
v = QT.QVBoxLayout()
h.addLayout(v)
v.addWidget(QT.QLabel("Merges"))
- self.table_merge = QT.QTableWidget(selectionMode=QT.QAbstractItemView.SingleSelection,
- selectionBehavior=QT.QAbstractItemView.SelectRows)
+ self.table_merge = QT.QTableWidget(selectionMode=QT.QAbstractItemView.SelectionMode.SingleSelection,
+ selectionBehavior=QT.QAbstractItemView.SelectionBehavior.SelectRows)
# self.table_merge.setContextMenuPolicy(QT.Qt.CustomContextMenu)
v.addWidget(self.table_merge)
- self.table_merge.setContextMenuPolicy(QT.Qt.CustomContextMenu)
+ self.table_merge.setContextMenuPolicy(QT.ContextMenuPolicy.CustomContextMenu)
self.table_merge.customContextMenuRequested.connect(self._qt_open_context_menu_merge)
self.table_merge.itemSelectionChanged.connect(self._qt_on_item_selection_changed_merge)
@@ -83,10 +83,10 @@ def _qt_make_layout(self):
v = QT.QVBoxLayout()
h.addLayout(v)
v.addWidget(QT.QLabel("Deleted"))
- self.table_delete = QT.QTableWidget(selectionMode=QT.QAbstractItemView.SingleSelection,
- selectionBehavior=QT.QAbstractItemView.SelectRows)
+ self.table_delete = QT.QTableWidget(selectionMode=QT.QAbstractItemView.SelectionMode.SingleSelection,
+ selectionBehavior=QT.QAbstractItemView.SelectionBehavior.SelectRows)
v.addWidget(self.table_delete)
- self.table_delete.setContextMenuPolicy(QT.Qt.CustomContextMenu)
+ self.table_delete.setContextMenuPolicy(QT.ContextMenuPolicy.CustomContextMenu)
self.table_delete.customContextMenuRequested.connect(self._qt_open_context_menu_delete)
self.table_delete.itemSelectionChanged.connect(self._qt_on_item_selection_changed_delete)
@@ -109,7 +109,7 @@ def _qt_refresh(self):
self.table_merge.setSortingEnabled(False)
for ix, group in enumerate(merged_units):
item = QT.QTableWidgetItem(str(group))
- item.setFlags(QT.Qt.ItemIsEnabled|QT.Qt.ItemIsSelectable)
+ item.setFlags(QT.ItemFlag.ItemIsEnabled|QT.ItemFlag.ItemIsSelectable)
self.table_merge.setItem(ix, 0, item)
for i in range(self.table_merge.columnCount()):
self.table_merge.resizeColumnToContents(i)
@@ -127,7 +127,7 @@ def _qt_refresh(self):
pix.fill(color)
icon = QT.QIcon(pix)
item = QT.QTableWidgetItem( f'{unit_id}')
- item.setFlags(QT.Qt.ItemIsEnabled|QT.Qt.ItemIsSelectable)
+ item.setFlags(QT.ItemFlag.ItemIsEnabled|QT.ItemFlag.ItemIsSelectable)
self.table_delete.setItem(i,0, item)
item.setIcon(icon)
item.unit_id = unit_id
diff --git a/spikeinterface_gui/mergeview.py b/spikeinterface_gui/mergeview.py
index 8f5fa76..9b309a4 100644
--- a/spikeinterface_gui/mergeview.py
+++ b/spikeinterface_gui/mergeview.py
@@ -205,9 +205,9 @@ def _qt_make_layout(self):
self.sorting_column = 2
self.sorting_direction = QT.Qt.SortOrder.AscendingOrder
- self.table = QT.QTableWidget(selectionMode=QT.QAbstractItemView.SingleSelection,
- selectionBehavior=QT.QAbstractItemView.SelectRows)
- self.table.setContextMenuPolicy(QT.Qt.CustomContextMenu)
+ self.table = QT.QTableWidget(selectionMode=QT.QAbstractItemView.SelectionMode.SingleSelection,
+ selectionBehavior=QT.QAbstractItemView.SelectionBehavior.SelectRows)
+ self.table.setContextMenuPolicy(QT.ContextMenuPolicy.CustomContextMenu)
self.layout.addWidget(self.table)
self.table.itemSelectionChanged.connect(self._qt_on_item_selection_changed)
@@ -250,7 +250,7 @@ def _qt_refresh(self):
icon = QT.QIcon(pix)
item = QT.QTableWidgetItem(name)
item.setData(QT.Qt.ItemDataRole.UserRole, unit_id)
- item.setFlags(QT.Qt.ItemIsEnabled | QT.Qt.ItemIsSelectable)
+ item.setFlags(QT.ItemFlag.ItemIsEnabled | QT.ItemFlag.ItemIsSelectable)
self.table.setItem(r, c, item)
item.setIcon(icon)
item.group_ids = row.get("group_ids", [])
diff --git a/spikeinterface_gui/spikelist.py b/spikeinterface_gui/spikelist.py
index 9058064..19e7b3a 100644
--- a/spikeinterface_gui/spikelist.py
+++ b/spikeinterface_gui/spikelist.py
@@ -45,7 +45,7 @@ def data(self, index, role):
if not index.isValid():
return None
- if role not in (QT.Qt.DisplayRole, QT.Qt.DecorationRole):
+ if role not in (QT.ItemDataRole.DisplayRole, QT.ItemDataRole.DecorationRole):
return
col = index.column()
@@ -55,7 +55,7 @@ def data(self, index, role):
spike = self.controller.spikes[abs_ind]
unit_id = self.controller.unit_ids[spike['unit_index']]
- if role ==QT.Qt.DisplayRole :
+ if role ==QT.ItemDataRole.DisplayRole :
if col == 0:
return '{}'.format(abs_ind)
elif col == 1:
@@ -70,7 +70,7 @@ def data(self, index, role):
return '{}'.format(spike['rand_selected'])
else:
return None
- elif role == QT.Qt.DecorationRole :
+ elif role == QT.ItemDataRole.DecorationRole :
if col != 0:
return None
if unit_id in self.icons:
@@ -84,10 +84,10 @@ def data(self, index, role):
def flags(self, index):
if not index.isValid():
return QT.Qt.NoItemFlags
- return QT.Qt.ItemIsEnabled | QT.Qt.ItemIsSelectable #| Qt.ItemIsDragEnabled
+ return QT.ItemFlag.ItemIsEnabled | QT.ItemFlag.ItemIsSelectable #| Qt.ItemIsDragEnabled
def headerData(self, section, orientation, role):
- if orientation == QT.Qt.Horizontal and role == QT.Qt.DisplayRole:
+ if orientation == QT.Qt.Orientation.Horizontal and role == QT.ItemDataRole.DisplayRole:
return self.columns[section]
return
@@ -158,8 +158,8 @@ def _qt_make_layout(self):
but.clicked.connect(self.refresh)
self.tree = QT.QTreeView(minimumWidth = 100, uniformRowHeights = True,
- selectionMode= QT.QAbstractItemView.ExtendedSelection, selectionBehavior = QT.QTreeView.SelectRows,
- contextMenuPolicy = QT.Qt.CustomContextMenu,)
+ selectionMode= QT.QAbstractItemView.SelectionMode.ExtendedSelection, selectionBehavior = QT.QAbstractItemView.SelectionBehavior.SelectRows,
+ contextMenuPolicy = QT.ContextMenuPolicy.CustomContextMenu,)
self.layout.addWidget(self.tree)
diff --git a/spikeinterface_gui/tracemapview.py b/spikeinterface_gui/tracemapview.py
index 31c04e3..7d3f854 100644
--- a/spikeinterface_gui/tracemapview.py
+++ b/spikeinterface_gui/tracemapview.py
@@ -141,7 +141,7 @@ def _qt_make_layout(self, **kargs):
self.plot.addItem(self.scatter)
- self.scroll_time = QT.QScrollBar(orientation=QT.Qt.Horizontal)
+ self.scroll_time = QT.QScrollBar(orientation=QT.Qt.Orientation.Horizontal)
g.addWidget(self.scroll_time, 1,1)
self.scroll_time.valueChanged.connect(self._qt_on_scroll_time)
diff --git a/spikeinterface_gui/traceview.py b/spikeinterface_gui/traceview.py
index c2c00cb..41b38bd 100644
--- a/spikeinterface_gui/traceview.py
+++ b/spikeinterface_gui/traceview.py
@@ -406,7 +406,7 @@ def _qt_make_layout(self):
self.scatter = pg.ScatterPlotItem(size=10, pxMode = True)
self.plot.addItem(self.scatter)
- self.scroll_time = QT.QScrollBar(orientation=QT.Qt.Horizontal)
+ self.scroll_time = QT.QScrollBar(orientation=QT.Qt.Orientation.Horizontal)
g.addWidget(self.scroll_time, 1,1)
self.scroll_time.valueChanged.connect(self._qt_on_scroll_time)
diff --git a/spikeinterface_gui/unitlist.py b/spikeinterface_gui/unitlist.py
index c13829d..9e48ca4 100644
--- a/spikeinterface_gui/unitlist.py
+++ b/spikeinterface_gui/unitlist.py
@@ -75,7 +75,7 @@ def _qt_make_layout(self):
self.table.itemChanged.connect(self._qt_on_item_changed)
self.table.cellDoubleClicked.connect(self._qt_on_double_clicked)
self.shortcut_visible = QT.QShortcut(self.qt_widget)
- self.shortcut_visible.setKey(QT.QKeySequence(QT.Key_Space))
+ self.shortcut_visible.setKey(QT.QKeySequence(QT.Key.Key_Space))
self.shortcut_visible.activated.connect(self.on_visible_shortcut)
# Enable column dragging
@@ -93,11 +93,11 @@ def _qt_make_layout(self):
act.triggered.connect(self.hide_all)
self.shortcut_only_previous = QT.QShortcut(self.qt_widget)
- self.shortcut_only_previous.setKey(QT.QKeySequence(QT.CTRL | QT.Key_Up))
+ self.shortcut_only_previous.setKey(QT.QKeySequence(QT.KeyboardModifier.ControlModifier | QT.Key.Key_Up))
self.shortcut_only_previous.activated.connect(self._qt_on_only_previous_shortcut)
self.shortcut_only_next = QT.QShortcut(self.qt_widget)
- self.shortcut_only_next.setKey(QT.QKeySequence(QT.CTRL | QT.Key_Down))
+ self.shortcut_only_next.setKey(QT.QKeySequence(QT.KeyboardModifier.ControlModifier | QT.Key.Key_Down))
self.shortcut_only_next.activated.connect(self._qt_on_only_next_shortcut)
if self.controller.curation:
@@ -158,10 +158,10 @@ def _qt_refresh_visibility_items(self):
for unit_id in self.controller.unit_ids:
item = self.items_visibility[unit_id]
- item.setCheckState(QT.Qt.Unchecked)
+ item.setCheckState(QT.CheckState.Unchecked)
for unit_id in self.controller.get_visible_unit_ids():
item = self.items_visibility[unit_id]
- item.setCheckState(QT.Qt.Checked)
+ item.setCheckState(QT.CheckState.Checked)
self._qt_refresh_color_icons()
def _qt_refresh_color_icons(self):
@@ -188,10 +188,17 @@ def _qt_refresh(self):
def _qt_set_default_label(self, label):
+
selected_unit_ids = self.get_selected_unit_ids()
for unit_id in selected_unit_ids:
self.controller.set_label_to_unit(unit_id, "quality", label)
- self._qt_full_table_refresh()
+
+ selected_rows = self._qt_get_selected_rows()
+ for row in selected_rows:
+ curation_label = self.table.item(row, self.label_columns[0])
+ curation_label.setText(label)
+
+ self._qt_on_only_next_shortcut()
def _qt_full_table_refresh(self):
# TODO sam make this faster
@@ -226,10 +233,10 @@ def _qt_full_table_refresh(self):
self.table.setColumnCount(len(column_labels))
self.table.setHorizontalHeaderLabels(column_labels)
- self.table.setContextMenuPolicy(QT.Qt.CustomContextMenu)
+ self.table.setContextMenuPolicy(QT.ContextMenuPolicy.CustomContextMenu)
self.table.customContextMenuRequested.connect(self._qt_on_open_context_menu)
- self.table.setSelectionMode(QT.QAbstractItemView.ExtendedSelection)
- self.table.setSelectionBehavior(QT.QAbstractItemView.SelectRows)
+ self.table.setSelectionMode(QT.QAbstractItemView.SelectionMode.ExtendedSelection)
+ self.table.setSelectionBehavior(QT.QAbstractItemView.SelectionBehavior.SelectRows)
unit_ids = self.controller.unit_ids
@@ -250,15 +257,15 @@ def _qt_full_table_refresh(self):
# item = QT.QTableWidgetItem( f'{unit_id}')
item = CustomItemUnitID(unit_ids, f'{unit_id}')
- item.setFlags(QT.Qt.ItemIsEnabled|QT.Qt.ItemIsSelectable)
+ item.setFlags(QT.ItemFlag.ItemIsEnabled|QT.ItemFlag.ItemIsSelectable)
self.table.setItem(i,0, item)
item.setIcon(icon)
self.items_icon[unit_id] = item
item = OrderableCheckItem('')
- item.setFlags(QT.Qt.ItemIsEnabled|QT.Qt.ItemIsSelectable|QT.Qt.ItemIsUserCheckable)
+ item.setFlags(QT.ItemFlag.ItemIsEnabled|QT.ItemFlag.ItemIsSelectable|QT.ItemFlag.ItemIsUserCheckable)
- item.setCheckState({ False: QT.Qt.Unchecked, True : QT.Qt.Checked}[unit_id in visible_unit_ids])
+ item.setCheckState({ False: QT.CheckState.Unchecked, True : QT.CheckState.Checked}[unit_id in visible_unit_ids])
self.table.setItem(i,1, item)
item.unit_id = unit_id
self.items_visibility[unit_id] = item
@@ -266,12 +273,12 @@ def _qt_full_table_refresh(self):
channel_index = self.controller.get_extremum_channel(unit_id)
channel_id = self.controller.channel_ids[channel_index]
item = CustomItem(f'{channel_id}')
- item.setFlags(QT.Qt.ItemIsEnabled|QT.Qt.ItemIsSelectable)
+ item.setFlags(QT.ItemFlag.ItemIsEnabled|QT.ItemFlag.ItemIsSelectable)
self.table.setItem(i, 2, item)
num_chan = np.sum(self.controller.get_sparsity_mask()[i, :])
item = CustomItem(f'{num_chan}')
- item.setFlags(QT.Qt.ItemIsEnabled|QT.Qt.ItemIsSelectable)
+ item.setFlags(QT.ItemFlag.ItemIsEnabled|QT.ItemFlag.ItemIsSelectable)
self.table.setItem(i, 3, item)
n_first = len(internal_column_names)
diff --git a/spikeinterface_gui/utils_qt.py b/spikeinterface_gui/utils_qt.py
index a5b5044..2240c6b 100644
--- a/spikeinterface_gui/utils_qt.py
+++ b/spikeinterface_gui/utils_qt.py
@@ -40,7 +40,7 @@
def add_stretch_to_qtoolbar(tb):
# add an expending widget + a seprator
empty = QT.QWidget()
- empty.setSizePolicy(QT.QSizePolicy.Expanding, QT.QSizePolicy.Preferred)
+ empty.setSizePolicy(QT.QSizePolicy.Policy.Expanding, QT.QSizePolicy.Policy.Preferred)
tb.addWidget(empty)
tb.addSeparator()
@@ -253,7 +253,7 @@ def __init__(self, parent = None, show_slider = True, show_spinbox = True) :
self.setLayout(self.layout)
if show_slider:
- self.slider = QT.QSlider(orientation=QT.Qt.Horizontal, minimum=0, maximum=999)
+ self.slider = QT.QSlider(orientation=QT.Qt.Orientation.Horizontal, minimum=0, maximum=999)
self.layout.addWidget(self.slider)
self.slider.valueChanged.connect(self.slider_changed)
else:
@@ -470,7 +470,7 @@ def __lt__(self, other):
class OrderableCheckItem(QT.QTableWidgetItem):
# special case for checkbox
def is_checked(self):
- checked = {QT.Qt.Unchecked : False, QT.Qt.Checked : True}[self.checkState()]
+ checked = {QT.CheckState.Unchecked : False, QT.CheckState.Checked : True}[self.checkState()]
return checked
def __lt__(self, other):