Preferences/ConfigurationPages/PrinterPage.py

changeset 0
de9c2efb9d02
child 12
1d8dd9706f46
diff -r 000000000000 -r de9c2efb9d02 Preferences/ConfigurationPages/PrinterPage.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Preferences/ConfigurationPages/PrinterPage.py	Mon Dec 28 16:03:33 2009 +0000
@@ -0,0 +1,100 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2006 - 2009 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the Printer configuration page.
+"""
+
+from PyQt4.QtCore import pyqtSlot
+
+from ConfigurationPageBase import ConfigurationPageBase
+from Ui_PrinterPage import Ui_PrinterPage
+
+import Preferences
+
+class PrinterPage(ConfigurationPageBase, Ui_PrinterPage):
+    """
+    Class implementing the Printer configuration page.
+    """
+    def __init__(self):
+        """
+        Constructor
+        """
+        ConfigurationPageBase.__init__(self)
+        self.setupUi(self)
+        self.setObjectName("PrinterPage")
+        
+        # set initial values
+        self.printerNameEdit.setText(\
+            Preferences.getPrinter("PrinterName"))
+        if Preferences.getPrinter("ColorMode"):
+            self.printerColorButton.setChecked(True)
+        else:
+            self.printerGrayscaleButton.setChecked(True)
+        if Preferences.getPrinter("FirstPageFirst"):
+            self.printFirstPageFirstButton.setChecked(True)
+        else:
+            self.printFirstPageLastButton.setChecked(True)
+        self.printMagnificationSpinBox.setValue(\
+            Preferences.getPrinter("Magnification"))
+        self.printheaderFont = Preferences.getPrinter("HeaderFont")
+        self.printheaderFontSample.setFont(self.printheaderFont)
+        self.leftMarginSpinBox.setValue(\
+            Preferences.getPrinter("LeftMargin"))
+        self.rightMarginSpinBox.setValue(\
+            Preferences.getPrinter("RightMargin"))
+        self.topMarginSpinBox.setValue(\
+            Preferences.getPrinter("TopMargin"))
+        self.bottomMarginSpinBox.setValue(\
+            Preferences.getPrinter("BottomMargin"))
+        
+    def save(self):
+        """
+        Public slot to save the Printer configuration.
+        """
+        Preferences.setPrinter("PrinterName",
+            self.printerNameEdit.text())
+        if self.printerColorButton.isChecked():
+            Preferences.setPrinter("ColorMode", 1)
+        else:
+            Preferences.setPrinter("ColorMode", 0)
+        if self.printFirstPageFirstButton.isChecked():
+            Preferences.setPrinter("FirstPageFirst", 1)
+        else:
+            Preferences.setPrinter("FirstPageFirst", 0)
+        Preferences.setPrinter("Magnification", 
+            self.printMagnificationSpinBox.value())
+        Preferences.setPrinter("HeaderFont", self.printheaderFont)
+        Preferences.setPrinter("LeftMargin", 
+            self.leftMarginSpinBox.value())
+        Preferences.setPrinter("RightMargin", 
+            self.rightMarginSpinBox.value())
+        Preferences.setPrinter("TopMargin", 
+            self.topMarginSpinBox.value())
+        Preferences.setPrinter("BottomMargin", 
+            self.bottomMarginSpinBox.value())
+        
+    @pyqtSlot()
+    def on_printheaderFontButton_clicked(self):
+        """
+        Private method used to select the font for the page header.
+        """
+        self.printheaderFont = \
+            self.selectFont(self.printheaderFontSample, self.printheaderFont)
+        
+    def polishPage(self):
+        """
+        Public slot to perform some polishing actions.
+        """
+        self.printheaderFontSample.setFont(self.printheaderFont)
+    
+def create(dlg):
+    """
+    Module function to create the configuration page.
+    
+    @param dlg reference to the configuration dialog
+    """
+    page = PrinterPage()
+    return page

eric ide

mercurial