pyqt6: Fix QPrinter::pageSize no longer present in pyqt6

This commit is contained in:
Kovid Goyal 2022-01-05 22:40:35 +05:30
parent 106b9657a1
commit f4eec76a09
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C

View file

@ -10,7 +10,7 @@
QCursor, QColor, QWidget, QPixmap, QSplitterHandle, QToolButton,
Qt, pyqtSignal, QSize, QSplitter, QPainter, QPageSize, QPrinter,
QLineEdit, QComboBox, QPen, QGraphicsScene, QMenu, QStringListModel, QKeySequence,
QCompleter, QTimer, QRect, QGraphicsView, QPagedPaintDevice, QPalette, QClipboard)
QCompleter, QTimer, QRect, QGraphicsView, QPalette, QClipboard)
from calibre.constants import iswindows, ismacos
from calibre.gui2 import (error_dialog, pixmap_to_data, gprefs,
@ -1268,7 +1268,7 @@ def initialize(self, choices=None):
if iswindows or ismacos:
# On Linux, this can cause Qt to load the system cups plugin
# which can crash: https://bugs.launchpad.net/calibre/+bug/1861741
PaperSizes.system_default_paper_size = 'letter' if QPrinter().pageSize() == QPagedPaintDevice.PageSize.Letter else 'a4'
PaperSizes.system_default_paper_size = 'letter' if QPrinter().pageLayout().pageSize().id() == QPageSize.PageSizeId.Letter else 'a4'
if not choices:
from calibre.ebooks.conversion.plugins.pdf_output import PAPER_SIZES
choices = PAPER_SIZES