mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
We should no longer need blank painting for cover browser on startup
This commit is contained in:
parent
4c753c6f63
commit
95a7fec616
@ -14,8 +14,7 @@ import sys
|
|||||||
import time
|
import time
|
||||||
from qt.core import (
|
from qt.core import (
|
||||||
QAction, QApplication, QDialog, QFont, QImage, QItemSelectionModel, QKeySequence,
|
QAction, QApplication, QDialog, QFont, QImage, QItemSelectionModel, QKeySequence,
|
||||||
QLabel, QPainter, QPalette, QSize, QSizePolicy, QStackedLayout, Qt, QTimer,
|
QLabel, QSize, QSizePolicy, QStackedLayout, Qt, QTimer, pyqtSignal,
|
||||||
pyqtSignal,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from calibre.constants import islinux
|
from calibre.constants import islinux
|
||||||
@ -23,7 +22,6 @@ from calibre.ebooks.metadata import authors_to_string, rating_to_stars
|
|||||||
from calibre.gui2 import config, gprefs, rating_font
|
from calibre.gui2 import config, gprefs, rating_font
|
||||||
from calibre_extensions import pictureflow
|
from calibre_extensions import pictureflow
|
||||||
|
|
||||||
|
|
||||||
MIN_SIZE = QSize(300, 150)
|
MIN_SIZE = QSize(300, 150)
|
||||||
|
|
||||||
|
|
||||||
@ -190,32 +188,6 @@ class CoverFlow(pictureflow.PictureFlow):
|
|||||||
|
|
||||||
dc_signal = pyqtSignal()
|
dc_signal = pyqtSignal()
|
||||||
context_menu_requested = pyqtSignal()
|
context_menu_requested = pyqtSignal()
|
||||||
_ignore_paint_events = False
|
|
||||||
|
|
||||||
@property
|
|
||||||
def ignore_paint_events(self):
|
|
||||||
return self._ignore_paint_events
|
|
||||||
|
|
||||||
@ignore_paint_events.setter
|
|
||||||
def ignore_paint_events(self, val):
|
|
||||||
if val != self._ignore_paint_events:
|
|
||||||
self._ignore_paint_events = val
|
|
||||||
if not val:
|
|
||||||
self.update()
|
|
||||||
|
|
||||||
def paintEvent(self, ev):
|
|
||||||
if self.ignore_paint_events and time.monotonic() - self.created_at < 1:
|
|
||||||
# Paint blank during startup to avoid flashing
|
|
||||||
p = QPainter(self)
|
|
||||||
p.fillRect(self.rect(), self.palette().color(QPalette.ColorRole.Window))
|
|
||||||
p.end()
|
|
||||||
else:
|
|
||||||
super().paintEvent(ev)
|
|
||||||
|
|
||||||
def resizeEvent(self, ev):
|
|
||||||
if ev.oldSize() == QSize(-1, -1):
|
|
||||||
self.created_at = time.monotonic()
|
|
||||||
super().resizeEvent(ev)
|
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
pictureflow.PictureFlow.__init__(self, parent,
|
pictureflow.PictureFlow.__init__(self, parent,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user