1
# -*- coding: utf-8 -*-
4
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
5
__docformat__ = 'restructuredtext en'
7
from calibre.gui2.convert.pdf_output_ui import Ui_Form
8
from calibre.gui2.convert import Widget
9
from calibre.ebooks.pdf.pageoptions import PAPER_SIZES, ORIENTATIONS
10
from calibre.gui2.widgets import BasicComboModel
12
paper_size_model = None
13
orientation_model = None
15
class PluginWidget(Widget, Ui_Form):
17
TITLE = _('PDF Output')
18
HELP = _('Options specific to')+' PDF '+_('output')
20
def __init__(self, parent, get_option, get_help, db=None, book_id=None):
21
Widget.__init__(self, parent, 'pdf_output', ['paper_size', 'orientation'])
22
self.db, self.book_id = db, book_id
23
self.initialize_options(get_option, get_help, db, book_id)
25
default_paper_size = self.opt_paper_size.currentText()
26
default_orientation = self.opt_orientation.currentText()
28
global paper_size_model
29
if paper_size_model is None:
30
paper_size_model = BasicComboModel(PAPER_SIZES.keys())
31
self.paper_size_model = paper_size_model
32
self.opt_paper_size.setModel(self.paper_size_model)
34
default_paper_size_index = self.opt_paper_size.findText(default_paper_size)
35
letter_index = self.opt_paper_size.findText('letter')
36
self.opt_paper_size.setCurrentIndex(default_paper_size_index if default_paper_size_index != -1 else letter_index if letter_index != -1 else 0)
38
global orientation_model
39
if orientation_model is None:
40
orientation_model = BasicComboModel(ORIENTATIONS.keys())
41
self.orientation_model = orientation_model
42
self.opt_orientation.setModel(self.orientation_model)
44
default_orientation_index = self.opt_orientation.findText(default_orientation)
45
orientation_index = self.opt_orientation.findText('portrait')
46
self.opt_orientation.setCurrentIndex(default_orientation_index if default_orientation_index != -1 else orientation_index if orientation_index != -1 else 0)