Only redraw actual spinner items

This commit is contained in:
Kovid Goyal 2019-09-01 06:59:38 +05:30
parent a7453e877a
commit dcca1a9ec6
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -786,13 +786,20 @@ class CoversView(QListView): # {{{
self.delegate = CoverDelegate(self)
self.setItemDelegate(self.delegate)
self.delegate.needs_redraw.connect(self.viewport().update,
self.delegate.needs_redraw.connect(self.redraw_spinners,
type=Qt.QueuedConnection)
self.doubleClicked.connect(self.chosen, type=Qt.QueuedConnection)
self.setContextMenuPolicy(Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.show_context_menu)
def redraw_spinners(self):
m = self.model()
for r in range(m.rowCount()):
idx = m.index(r)
if bool(m.data(idx, Qt.UserRole)):
m.dataChanged.emit(idx, idx)
def select(self, num):
current = self.model().index(num)
sm = self.selectionModel()