Preferences/ConfigurationPages/PrinterPage.py

changeset 0
de9c2efb9d02
child 12
1d8dd9706f46
equal deleted inserted replaced
-1:000000000000 0:de9c2efb9d02
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2006 - 2009 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the Printer configuration page.
8 """
9
10 from PyQt4.QtCore import pyqtSlot
11
12 from ConfigurationPageBase import ConfigurationPageBase
13 from Ui_PrinterPage import Ui_PrinterPage
14
15 import Preferences
16
17 class PrinterPage(ConfigurationPageBase, Ui_PrinterPage):
18 """
19 Class implementing the Printer configuration page.
20 """
21 def __init__(self):
22 """
23 Constructor
24 """
25 ConfigurationPageBase.__init__(self)
26 self.setupUi(self)
27 self.setObjectName("PrinterPage")
28
29 # set initial values
30 self.printerNameEdit.setText(\
31 Preferences.getPrinter("PrinterName"))
32 if Preferences.getPrinter("ColorMode"):
33 self.printerColorButton.setChecked(True)
34 else:
35 self.printerGrayscaleButton.setChecked(True)
36 if Preferences.getPrinter("FirstPageFirst"):
37 self.printFirstPageFirstButton.setChecked(True)
38 else:
39 self.printFirstPageLastButton.setChecked(True)
40 self.printMagnificationSpinBox.setValue(\
41 Preferences.getPrinter("Magnification"))
42 self.printheaderFont = Preferences.getPrinter("HeaderFont")
43 self.printheaderFontSample.setFont(self.printheaderFont)
44 self.leftMarginSpinBox.setValue(\
45 Preferences.getPrinter("LeftMargin"))
46 self.rightMarginSpinBox.setValue(\
47 Preferences.getPrinter("RightMargin"))
48 self.topMarginSpinBox.setValue(\
49 Preferences.getPrinter("TopMargin"))
50 self.bottomMarginSpinBox.setValue(\
51 Preferences.getPrinter("BottomMargin"))
52
53 def save(self):
54 """
55 Public slot to save the Printer configuration.
56 """
57 Preferences.setPrinter("PrinterName",
58 self.printerNameEdit.text())
59 if self.printerColorButton.isChecked():
60 Preferences.setPrinter("ColorMode", 1)
61 else:
62 Preferences.setPrinter("ColorMode", 0)
63 if self.printFirstPageFirstButton.isChecked():
64 Preferences.setPrinter("FirstPageFirst", 1)
65 else:
66 Preferences.setPrinter("FirstPageFirst", 0)
67 Preferences.setPrinter("Magnification",
68 self.printMagnificationSpinBox.value())
69 Preferences.setPrinter("HeaderFont", self.printheaderFont)
70 Preferences.setPrinter("LeftMargin",
71 self.leftMarginSpinBox.value())
72 Preferences.setPrinter("RightMargin",
73 self.rightMarginSpinBox.value())
74 Preferences.setPrinter("TopMargin",
75 self.topMarginSpinBox.value())
76 Preferences.setPrinter("BottomMargin",
77 self.bottomMarginSpinBox.value())
78
79 @pyqtSlot()
80 def on_printheaderFontButton_clicked(self):
81 """
82 Private method used to select the font for the page header.
83 """
84 self.printheaderFont = \
85 self.selectFont(self.printheaderFontSample, self.printheaderFont)
86
87 def polishPage(self):
88 """
89 Public slot to perform some polishing actions.
90 """
91 self.printheaderFontSample.setFont(self.printheaderFont)
92
93 def create(dlg):
94 """
95 Module function to create the configuration page.
96
97 @param dlg reference to the configuration dialog
98 """
99 page = PrinterPage()
100 return page

eric ide

mercurial