5 |
5 |
6 """ |
6 """ |
7 Module implementing the printer functionality. |
7 Module implementing the printer functionality. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt6.QtCore import QTime, QDate, Qt, QCoreApplication |
10 from PyQt6.QtCore import QTime, QDate, Qt, QCoreApplication, QMarginsF |
11 from PyQt6.QtGui import QColor |
11 from PyQt6.QtGui import QColor, QPageLayout |
12 from PyQt6.QtPrintSupport import QPrinter |
12 from PyQt6.QtPrintSupport import QPrinter |
13 from PyQt6.Qsci import QsciPrinter |
13 from PyQt6.Qsci import QsciPrinter |
14 |
14 |
15 import Preferences |
15 import Preferences |
16 |
16 |
34 self.setColorMode(QPrinter.ColorMode.GrayScale) |
34 self.setColorMode(QPrinter.ColorMode.GrayScale) |
35 if Preferences.getPrinter("FirstPageFirst"): |
35 if Preferences.getPrinter("FirstPageFirst"): |
36 self.setPageOrder(QPrinter.PageOrder.FirstPageFirst) |
36 self.setPageOrder(QPrinter.PageOrder.FirstPageFirst) |
37 else: |
37 else: |
38 self.setPageOrder(QPrinter.PageOrder.LastPageFirst) |
38 self.setPageOrder(QPrinter.PageOrder.LastPageFirst) |
39 self.setPageMargins( |
39 self.setPageMargins(QMarginsF( |
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.Unit.Millimeter |
44 QPageLayout.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.DateFormat.LocalDate) |
49 self.time = QTime.currentTime().toString(Qt.DateFormat.RFC2822Date) |
50 self.date = QDate.currentDate().toString(Qt.DateFormat.LocalDate) |
50 self.date = QDate.currentDate().toString(Qt.DateFormat.RFC2822Date) |
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. |