diff --git a/src/calibre/gui2/library/delegates.py b/src/calibre/gui2/library/delegates.py index 3140d69fd6..2823241cc4 100644 --- a/src/calibre/gui2/library/delegates.py +++ b/src/calibre/gui2/library/delegates.py @@ -747,6 +747,15 @@ class CcBoolDelegate(QStyledItemDelegate, UpdateEditorGeometry): # {{{ else 1 if not val else 0 editor.setCurrentIndex(val) + def paint(self, painter, option, index): + text, icon = index.data(Qt.ItemDataRole.DisplayRole), index.data(Qt.ItemDataRole.DecorationRole) + if (not text and not icon) or text or not icon: + return super().paint(painter, option, index) + dummy = index.model().index(-1, -1) + super().paint(painter, option, dummy) + style = QApplication.style() + style.drawItemPixmap(painter, option.rect, Qt.AlignmentFlag.AlignCenter, icon) + # }}} diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index 8b189fcdff..0aa644d384 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -927,7 +927,7 @@ class BooksModel(QAbstractTableModel): # {{{ return (None if v is None else (_('Yes') if v else _('No'))) else: def func(idx): - return(None) + return None else: def func(idx): return None