--- a/src/eric7/QScintilla/Printer.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/QScintilla/Printer.py Wed Jul 13 14:55:47 2022 +0200 @@ -19,14 +19,15 @@ """ Class implementing the QsciPrinter with a header. """ + def __init__(self, mode=QPrinter.PrinterMode.ScreenResolution): """ Constructor - + @param mode mode of the printer (QPrinter.PrinterMode) """ super().__init__(mode) - + self.setMagnification(Preferences.getPrinter("Magnification")) if Preferences.getPrinter("ColorMode"): self.setColorMode(QPrinter.ColorMode.Color) @@ -36,12 +37,14 @@ self.setPageOrder(QPrinter.PageOrder.FirstPageFirst) else: self.setPageOrder(QPrinter.PageOrder.LastPageFirst) - self.setPageMargins(QMarginsF( - Preferences.getPrinter("LeftMargin") * 10, - Preferences.getPrinter("TopMargin") * 10, - Preferences.getPrinter("RightMargin") * 10, - Preferences.getPrinter("BottomMargin") * 10), - QPageLayout.Unit.Millimeter + self.setPageMargins( + QMarginsF( + Preferences.getPrinter("LeftMargin") * 10, + Preferences.getPrinter("TopMargin") * 10, + Preferences.getPrinter("RightMargin") * 10, + Preferences.getPrinter("BottomMargin") * 10, + ), + QPageLayout.Unit.Millimeter, ) printerName = Preferences.getPrinter("PrinterName") if printerName: @@ -49,25 +52,25 @@ self.time = QTime.currentTime().toString(Qt.DateFormat.RFC2822Date) self.date = QDate.currentDate().toString(Qt.DateFormat.RFC2822Date) self.headerFont = Preferences.getPrinter("HeaderFont") - + def formatPage(self, painter, drawing, area, pagenr): """ Public method to generate a header line. - + @param painter the paint canvas (QPainter) @param drawing flag indicating that something should be drawn @param area the drawing area (QRect) @param pagenr the page number (int) """ fn = self.docName() - + header = QCoreApplication.translate( - 'Printer', '{0} - Printed on {1}, {2} - Page {3}' + "Printer", "{0} - Printed on {1}, {2} - Page {3}" ).format(fn, self.date, self.time, pagenr) - + painter.save() - painter.setFont(self.headerFont) # set our header font - painter.setPen(QColor(Qt.GlobalColor.black)) # set color + painter.setFont(self.headerFont) # set our header font + painter.setPen(QColor(Qt.GlobalColor.black)) # set color if drawing: fm = painter.fontMetrics() try: @@ -76,6 +79,8 @@ fmWidth = fm.width(header) painter.drawText( area.right() - fmWidth, - area.top() + painter.fontMetrics().ascent(), header) + area.top() + painter.fontMetrics().ascent(), + header, + ) area.setTop(area.top() + painter.fontMetrics().height() + 5) painter.restore()