mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 02:34:06 -04:00
Fix #1859550 [[Enhancement] Show paper size width and height reference](https://bugs.launchpad.net/calibre/+bug/1859550)
This commit is contained in:
parent
015d0b9c38
commit
13a8f4f895
@ -31,6 +31,12 @@ from calibre.utils.serialize import msgpack_dumps, msgpack_loads
|
|||||||
vprefs = JSONConfig('viewer')
|
vprefs = JSONConfig('viewer')
|
||||||
|
|
||||||
|
|
||||||
|
def format_page_size(s):
|
||||||
|
sz = QPageSize.definitionSize(s)
|
||||||
|
unit = {QPageSize.Millimeter: 'mm', QPageSize.Inch: 'inch'}[QPageSize.definitionUnits(s)]
|
||||||
|
return '{} ({:g} x {:g} {})'.format(QPageSize.name(s), sz.width(), sz.height(), unit)
|
||||||
|
|
||||||
|
|
||||||
class PrintDialog(Dialog):
|
class PrintDialog(Dialog):
|
||||||
|
|
||||||
OUTPUT_NAME = 'print-to-pdf-choose-file'
|
OUTPUT_NAME = 'print-to-pdf-choose-file'
|
||||||
@ -64,13 +70,15 @@ class PrintDialog(Dialog):
|
|||||||
l.addRow(w, h), w.setBuddy(f)
|
l.addRow(w, h), w.setBuddy(f)
|
||||||
|
|
||||||
self.paper_size = ps = QComboBox(self)
|
self.paper_size = ps = QComboBox(self)
|
||||||
ps.addItems([a.upper() for a in sorted(self.paper_size_map, key=numeric_sort_key)])
|
for a in sorted(self.paper_size_map, key=numeric_sort_key):
|
||||||
|
qtsz = self.paper_size_map[a]
|
||||||
|
ps.addItem(format_page_size(qtsz), a.upper())
|
||||||
previous_size = vprefs.get('print-to-pdf-page-size', None)
|
previous_size = vprefs.get('print-to-pdf-page-size', None)
|
||||||
if previous_size not in self.paper_size_map:
|
if previous_size not in self.paper_size_map:
|
||||||
previous_size = (QPrinter().pageLayout().pageSize().name() or '').lower()
|
previous_size = (QPrinter().pageLayout().pageSize().name() or '').lower()
|
||||||
if previous_size not in self.paper_size_map:
|
if previous_size not in self.paper_size_map:
|
||||||
previous_size = 'a4'
|
previous_size = 'a4'
|
||||||
ps.setCurrentIndex(ps.findText(previous_size.upper()))
|
ps.setCurrentIndex(ps.findData(previous_size.upper()))
|
||||||
l.addRow(_('Paper &size:'), ps)
|
l.addRow(_('Paper &size:'), ps)
|
||||||
tmap = {
|
tmap = {
|
||||||
'left':_('&Left margin:'),
|
'left':_('&Left margin:'),
|
||||||
@ -107,7 +115,7 @@ class PrintDialog(Dialog):
|
|||||||
fpath = os.path.join(head, tail)
|
fpath = os.path.join(head, tail)
|
||||||
ans = {
|
ans = {
|
||||||
'output': fpath,
|
'output': fpath,
|
||||||
'paper_size': self.paper_size.currentText().lower(),
|
'paper_size': self.paper_size.currentData().lower(),
|
||||||
'page_numbers':self.pnum.isChecked(),
|
'page_numbers':self.pnum.isChecked(),
|
||||||
'show_file':self.show_file.isChecked(),
|
'show_file':self.show_file.isChecked(),
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user