From 15f7abe8b04e39f046976bcc2275abb11ed0e58d Mon Sep 17 00:00:00 2001 From: Mika Fischer Date: Fri, 27 Jan 2012 13:38:08 +0100 Subject: [PATCH] Emit signals when selection is changed programmaticaly Also try not to to anything if selection is unchanged --- sloth/annotations/model.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sloth/annotations/model.py b/sloth/annotations/model.py index 89d3802..240d9e2 100644 --- a/sloth/annotations/model.py +++ b/sloth/annotations/model.py @@ -782,13 +782,14 @@ class AnnotationTreeView(QTreeView): self.resizeColumns() def setSelectedItems(self, items): - block = self.blockSignals(True) + #block = self.blockSignals(True) sel = QItemSelection() for item in items: sel.merge(QItemSelection(item.index(), item.index(1)), QItemSelectionModel.SelectCurrent) - self.selectionModel().clear() - self.selectionModel().select(sel, QItemSelectionModel.Select) - self.blockSignals(block) + if set(sel) != set(self.selectionModel().selection()): + self.selectionModel().clear() + self.selectionModel().select(sel, QItemSelectionModel.Select) + #self.blockSignals(block) def selectionChanged(self, selected, deselected): items = [ self.model().itemFromIndex(index) for index in self.selectionModel().selectedIndexes()]