mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Fix #1927167 [Book details window: Dark mode background reverts after deleting metadata](https://bugs.launchpad.net/calibre/+bug/1927167)
This commit is contained in:
parent
3fe28fb1a4
commit
28f16bec0f
@ -27,6 +27,9 @@ class Cover(CoverView):
|
|||||||
open_with_requested = pyqtSignal(object)
|
open_with_requested = pyqtSignal(object)
|
||||||
choose_open_with_requested = pyqtSignal()
|
choose_open_with_requested = pyqtSignal()
|
||||||
|
|
||||||
|
def __init__(self, parent, show_size=False):
|
||||||
|
CoverView.__init__(self, parent, show_size=show_size)
|
||||||
|
|
||||||
def build_context_menu(self):
|
def build_context_menu(self):
|
||||||
ans = CoverView.build_context_menu(self)
|
ans = CoverView.build_context_menu(self)
|
||||||
create_open_cover_with_menu(self, ans)
|
create_open_cover_with_menu(self, ans)
|
||||||
@ -42,6 +45,13 @@ class Cover(CoverView):
|
|||||||
ev.accept()
|
ev.accept()
|
||||||
self.open_with_requested.emit(None)
|
self.open_with_requested.emit(None)
|
||||||
|
|
||||||
|
def set_marked(self, marked):
|
||||||
|
if marked:
|
||||||
|
marked_brush = QBrush(Qt.GlobalColor.darkGray if QApplication.instance().is_dark_theme else Qt.GlobalColor.lightGray)
|
||||||
|
self.set_background(marked_brush)
|
||||||
|
else:
|
||||||
|
self.set_background()
|
||||||
|
|
||||||
|
|
||||||
class Configure(Dialog):
|
class Configure(Dialog):
|
||||||
|
|
||||||
@ -125,8 +135,6 @@ class BookInfo(QDialog):
|
|||||||
|
|
||||||
def __init__(self, parent, view, row, link_delegate):
|
def __init__(self, parent, view, row, link_delegate):
|
||||||
QDialog.__init__(self, parent)
|
QDialog.__init__(self, parent)
|
||||||
self.normal_brush = QBrush(Qt.GlobalColor.white)
|
|
||||||
self.marked_brush = QBrush(Qt.GlobalColor.lightGray)
|
|
||||||
self.marked = None
|
self.marked = None
|
||||||
self.gui = parent
|
self.gui = parent
|
||||||
self.splitter = QSplitter(self)
|
self.splitter = QSplitter(self)
|
||||||
@ -275,6 +283,7 @@ class BookInfo(QDialog):
|
|||||||
|
|
||||||
def resize_cover(self):
|
def resize_cover(self):
|
||||||
if self.cover_pixmap is None:
|
if self.cover_pixmap is None:
|
||||||
|
self.cover.set_marked(self.marked)
|
||||||
return
|
return
|
||||||
pixmap = self.cover_pixmap
|
pixmap = self.cover_pixmap
|
||||||
if self.fit_cover.isChecked():
|
if self.fit_cover.isChecked():
|
||||||
@ -290,6 +299,7 @@ class BookInfo(QDialog):
|
|||||||
Qt.AspectRatioMode.KeepAspectRatio, Qt.TransformationMode.SmoothTransformation)
|
Qt.AspectRatioMode.KeepAspectRatio, Qt.TransformationMode.SmoothTransformation)
|
||||||
pixmap.setDevicePixelRatio(dpr)
|
pixmap.setDevicePixelRatio(dpr)
|
||||||
self.cover.set_pixmap(pixmap)
|
self.cover.set_pixmap(pixmap)
|
||||||
|
self.cover.set_marked(self.marked)
|
||||||
self.update_cover_tooltip()
|
self.update_cover_tooltip()
|
||||||
|
|
||||||
def update_cover_tooltip(self):
|
def update_cover_tooltip(self):
|
||||||
@ -331,11 +341,10 @@ class BookInfo(QDialog):
|
|||||||
except AttributeError:
|
except AttributeError:
|
||||||
dpr = self.devicePixelRatio()
|
dpr = self.devicePixelRatio()
|
||||||
self.cover_pixmap.setDevicePixelRatio(dpr)
|
self.cover_pixmap.setDevicePixelRatio(dpr)
|
||||||
|
self.marked = mi.marked
|
||||||
self.resize_cover()
|
self.resize_cover()
|
||||||
html = render_html(mi, True, self, pref_name='popup_book_display_fields')
|
html = render_html(mi, True, self, pref_name='popup_book_display_fields')
|
||||||
set_html(mi, html, self.details)
|
set_html(mi, html, self.details)
|
||||||
self.marked = mi.marked
|
|
||||||
self.cover.setBackgroundBrush(self.marked_brush if mi.marked else self.normal_brush)
|
|
||||||
self.update_cover_tooltip()
|
self.update_cover_tooltip()
|
||||||
|
|
||||||
def open_with(self, entry):
|
def open_with(self, entry):
|
||||||
|
@ -403,6 +403,7 @@ class CoverView(QGraphicsView, ImageDropMixin): # {{{
|
|||||||
self.pixmap_size = 0, 0
|
self.pixmap_size = 0, 0
|
||||||
if self.show_size:
|
if self.show_size:
|
||||||
self.setViewportUpdateMode(QGraphicsView.ViewportUpdateMode.FullViewportUpdate)
|
self.setViewportUpdateMode(QGraphicsView.ViewportUpdateMode.FullViewportUpdate)
|
||||||
|
self.set_background()
|
||||||
|
|
||||||
def get_pixmap(self):
|
def get_pixmap(self):
|
||||||
for item in self.scene.items():
|
for item in self.scene.items():
|
||||||
@ -413,7 +414,9 @@ class CoverView(QGraphicsView, ImageDropMixin): # {{{
|
|||||||
self.scene = QGraphicsScene()
|
self.scene = QGraphicsScene()
|
||||||
self.scene.addPixmap(pmap)
|
self.scene.addPixmap(pmap)
|
||||||
self.setScene(self.scene)
|
self.setScene(self.scene)
|
||||||
self.setBackgroundBrush(self.palette().color(QPalette.ColorRole.Window))
|
|
||||||
|
def set_background(self, brush=None):
|
||||||
|
self.setBackgroundBrush(brush or self.palette().color(QPalette.ColorRole.Window))
|
||||||
|
|
||||||
def paintEvent(self, ev):
|
def paintEvent(self, ev):
|
||||||
QGraphicsView.paintEvent(self, ev)
|
QGraphicsView.paintEvent(self, ev)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user