diff --git a/src/calibre/gui2/metadata/single_download.py b/src/calibre/gui2/metadata/single_download.py index 4e3330df62..aa8a60c769 100644 --- a/src/calibre/gui2/metadata/single_download.py +++ b/src/calibre/gui2/metadata/single_download.py @@ -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()