mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
As I discussed in the previous PR, this commit makes the cover adapt to the new area when the book details pane changes size. I used the same technique you used in .widgets.
This commit is contained in:
parent
98811a1999
commit
8a693530b1
@ -10,7 +10,7 @@ from qt.core import (
|
||||
QAction, QApplication, QClipboard, QColor, QDialog, QEasingCurve, QIcon,
|
||||
QKeySequence, QMenu, QMimeData, QPainter, QPen, QPixmap,
|
||||
QPropertyAnimation, QRect, QSize, QSizePolicy, Qt, QUrl, QWidget, pyqtProperty,
|
||||
pyqtSignal
|
||||
QTimer, pyqtSignal
|
||||
)
|
||||
|
||||
from calibre import fit_image, sanitize_file_name
|
||||
@ -923,7 +923,22 @@ class DetailsLayout(BasicSplitter): # {{{
|
||||
self._children = []
|
||||
self.min_size = QSize(190, 200) if vertical else QSize(120, 120)
|
||||
self.setContentsMargins(0, 0, 0, 0)
|
||||
self.splitterMoved.connect(self.do_splitter_moved)
|
||||
self.splitterMoved.connect(self.do_splitter_moved,
|
||||
type=Qt.ConnectionType.QueuedConnection)
|
||||
self.resize_timer = QTimer()
|
||||
self.resize_timer.setSingleShot(True)
|
||||
self.resize_timer.setInterval(5)
|
||||
self.resize_timer.timeout.connect(self.do_resize)
|
||||
|
||||
def do_resize(self, *args):
|
||||
super().resizeEvent(self._resize_ev)
|
||||
self.do_layout(self.rect())
|
||||
|
||||
def resizeEvent(self, ev):
|
||||
if self.resize_timer.isActive():
|
||||
self.resize_timer.stop()
|
||||
self._resize_ev = ev
|
||||
self.resize_timer.start()
|
||||
|
||||
def minimumSize(self):
|
||||
return QSize(self.min_size)
|
||||
|
Loading…
x
Reference in New Issue
Block a user