17 |
17 |
18 class Printer(QsciPrinter): |
18 class Printer(QsciPrinter): |
19 """ |
19 """ |
20 Class implementing the QsciPrinter with a header. |
20 Class implementing the QsciPrinter with a header. |
21 """ |
21 """ |
22 def __init__(self, mode=QPrinter.ScreenResolution): |
22 def __init__(self, mode=QPrinter.PrinterMode.ScreenResolution): |
23 """ |
23 """ |
24 Constructor |
24 Constructor |
25 |
25 |
26 @param mode mode of the printer (QPrinter.PrinterMode) |
26 @param mode mode of the printer (QPrinter.PrinterMode) |
27 """ |
27 """ |
28 super(Printer, self).__init__(mode) |
28 super(Printer, self).__init__(mode) |
29 |
29 |
30 self.setMagnification(Preferences.getPrinter("Magnification")) |
30 self.setMagnification(Preferences.getPrinter("Magnification")) |
31 if Preferences.getPrinter("ColorMode"): |
31 if Preferences.getPrinter("ColorMode"): |
32 self.setColorMode(QPrinter.Color) |
32 self.setColorMode(QPrinter.ColorMode.Color) |
33 else: |
33 else: |
34 self.setColorMode(QPrinter.GrayScale) |
34 self.setColorMode(QPrinter.ColorMode.GrayScale) |
35 if Preferences.getPrinter("FirstPageFirst"): |
35 if Preferences.getPrinter("FirstPageFirst"): |
36 self.setPageOrder(QPrinter.FirstPageFirst) |
36 self.setPageOrder(QPrinter.PageOrder.FirstPageFirst) |
37 else: |
37 else: |
38 self.setPageOrder(QPrinter.LastPageFirst) |
38 self.setPageOrder(QPrinter.PageOrder.LastPageFirst) |
39 self.setPageMargins( |
39 self.setPageMargins( |
40 Preferences.getPrinter("LeftMargin") * 10, |
40 Preferences.getPrinter("LeftMargin") * 10, |
41 Preferences.getPrinter("TopMargin") * 10, |
41 Preferences.getPrinter("TopMargin") * 10, |
42 Preferences.getPrinter("RightMargin") * 10, |
42 Preferences.getPrinter("RightMargin") * 10, |
43 Preferences.getPrinter("BottomMargin") * 10, |
43 Preferences.getPrinter("BottomMargin") * 10, |
44 QPrinter.Millimeter |
44 QPrinter.Unit.Millimeter |
45 ) |
45 ) |
46 printerName = Preferences.getPrinter("PrinterName") |
46 printerName = Preferences.getPrinter("PrinterName") |
47 if printerName: |
47 if printerName: |
48 self.setPrinterName(printerName) |
48 self.setPrinterName(printerName) |
49 self.time = QTime.currentTime().toString(Qt.LocalDate) |
49 self.time = QTime.currentTime().toString(Qt.DateFormat.LocalDate) |
50 self.date = QDate.currentDate().toString(Qt.LocalDate) |
50 self.date = QDate.currentDate().toString(Qt.DateFormat.LocalDate) |
51 self.headerFont = Preferences.getPrinter("HeaderFont") |
51 self.headerFont = Preferences.getPrinter("HeaderFont") |
52 |
52 |
53 def formatPage(self, painter, drawing, area, pagenr): |
53 def formatPage(self, painter, drawing, area, pagenr): |
54 """ |
54 """ |
55 Public method to generate a header line. |
55 Public method to generate a header line. |
65 'Printer', '{0} - Printed on {1}, {2} - Page {3}' |
65 'Printer', '{0} - Printed on {1}, {2} - Page {3}' |
66 ).format(fn, self.date, self.time, pagenr) |
66 ).format(fn, self.date, self.time, pagenr) |
67 |
67 |
68 painter.save() |
68 painter.save() |
69 painter.setFont(self.headerFont) # set our header font |
69 painter.setFont(self.headerFont) # set our header font |
70 painter.setPen(QColor(Qt.black)) # set color |
70 painter.setPen(QColor(Qt.GlobalColor.black)) # set color |
71 if drawing: |
71 if drawing: |
72 fm = painter.fontMetrics() |
72 fm = painter.fontMetrics() |
73 try: |
73 try: |
74 fmWidth = fm.horizontalAdvance(header) |
74 fmWidth = fm.horizontalAdvance(header) |
75 except AttributeError: |
75 except AttributeError: |