eric6/Preferences/ConfigurationPages/PrinterPage.py

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

eric ide

mercurial