WebBrowser/WebBrowserTabWidget.py

changeset 5530
93f95c4b3153
parent 5526
11337e4fba52
child 5534
f9368ecf153a
equal deleted inserted replaced
5527:4fdbb36fe794 5530:93f95c4b3153
636 QAbstractPrintDialog.PrintShowPageSize) 636 QAbstractPrintDialog.PrintShowPageSize)
637 if not Globals.isWindowsPlatform(): 637 if not Globals.isWindowsPlatform():
638 if FilePrinter.isCupsAvailable(): 638 if FilePrinter.isCupsAvailable():
639 printDialog.setOption(QAbstractPrintDialog.PrintCollateCopies) 639 printDialog.setOption(QAbstractPrintDialog.PrintCollateCopies)
640 printDialog.setOption(QAbstractPrintDialog.PrintPageRange) 640 printDialog.setOption(QAbstractPrintDialog.PrintPageRange)
641 # TODO: Add Qt 5.8 print support
642 if printDialog.exec_() == QDialog.Accepted: 641 if printDialog.exec_() == QDialog.Accepted:
643 if not hasattr(browser.page(), "printToPdf"): 642 # TODO: enable this once it works correctly in Qt
644 browser.render(printer) 643 ## if hasattr(browser.page(), "print"):
645 else: 644 ## # Qt >= 5.8.0
645 ## browser.page().printPage(printer)
646 ## elif hasattr(browser.page(), "printToPdf"):
647 if hasattr(browser.page(), "printToPdf"):
648 # Qt >= 5.7.0
646 if printer.outputFormat() == QPrinter.PdfFormat: 649 if printer.outputFormat() == QPrinter.PdfFormat:
647 # print to PDF file selected 650 # print to PDF file selected
648 browser.page().printToPdf( 651 browser.page().printToPdf(
649 lambda pdf: self.__pdfGeneratedForSave( 652 lambda pdf: self.__pdfGeneratedForSave(
650 printer.outputFileName(), pdf), 653 printer.outputFileName(), pdf),
653 # print to printer 656 # print to printer
654 self.__pdfPrinter = printer 657 self.__pdfPrinter = printer
655 browser.page().printToPdf( 658 browser.page().printToPdf(
656 self.__pdfGeneratedForPrinting, 659 self.__pdfGeneratedForPrinting,
657 printer.pageLayout()) 660 printer.pageLayout())
661 else:
662 browser.render(printer)
658 663
659 @pyqtSlot() 664 @pyqtSlot()
660 def printBrowserPdf(self, browser=None): 665 def printBrowserPdf(self, browser=None):
661 """ 666 """
662 Public slot called to print the displayed page to PDF. 667 Public slot called to print the displayed page to PDF.

eric ide

mercurial