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,
|
QAction, QApplication, QClipboard, QColor, QDialog, QEasingCurve, QIcon,
|
||||||
QKeySequence, QMenu, QMimeData, QPainter, QPen, QPixmap,
|
QKeySequence, QMenu, QMimeData, QPainter, QPen, QPixmap,
|
||||||
QPropertyAnimation, QRect, QSize, QSizePolicy, Qt, QUrl, QWidget, pyqtProperty,
|
QPropertyAnimation, QRect, QSize, QSizePolicy, Qt, QUrl, QWidget, pyqtProperty,
|
||||||
pyqtSignal
|
QTimer, pyqtSignal
|
||||||
)
|
)
|
||||||
|
|
||||||
from calibre import fit_image, sanitize_file_name
|
from calibre import fit_image, sanitize_file_name
|
||||||
@ -923,7 +923,22 @@ class DetailsLayout(BasicSplitter): # {{{
|
|||||||
self._children = []
|
self._children = []
|
||||||
self.min_size = QSize(190, 200) if vertical else QSize(120, 120)
|
self.min_size = QSize(190, 200) if vertical else QSize(120, 120)
|
||||||
self.setContentsMargins(0, 0, 0, 0)
|
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):
|
def minimumSize(self):
|
||||||
return QSize(self.min_size)
|
return QSize(self.min_size)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user