672 QAbstractPrintDialog.PrintShowPageSize) |
672 QAbstractPrintDialog.PrintShowPageSize) |
673 if not Globals.isWindowsPlatform(): |
673 if not Globals.isWindowsPlatform(): |
674 if isCupsAvailable(): |
674 if isCupsAvailable(): |
675 printDialog.setOption(QAbstractPrintDialog.PrintCollateCopies) |
675 printDialog.setOption(QAbstractPrintDialog.PrintCollateCopies) |
676 printDialog.setOption(QAbstractPrintDialog.PrintPageRange) |
676 printDialog.setOption(QAbstractPrintDialog.PrintPageRange) |
677 if printDialog.exec_() == QDialog.Accepted: |
677 if printDialog.exec() == QDialog.Accepted: |
678 browser.page().execPrintPage(printer, 10 * 1000) |
678 browser.page().execPrintPage(printer, 10 * 1000) |
679 |
679 |
680 @pyqtSlot() |
680 @pyqtSlot() |
681 def printBrowserPdf(self, browser=None): |
681 def printBrowserPdf(self, browser=None): |
682 """ |
682 """ |
694 if hasattr(browser.page(), "printToPdf"): |
694 if hasattr(browser.page(), "printToPdf"): |
695 from .Tools.PrintToPdfDialog import PrintToPdfDialog |
695 from .Tools.PrintToPdfDialog import PrintToPdfDialog |
696 if not name: |
696 if not name: |
697 name = "printout.pdf" |
697 name = "printout.pdf" |
698 dlg = PrintToPdfDialog(name, self) |
698 dlg = PrintToPdfDialog(name, self) |
699 if dlg.exec_() == QDialog.Accepted: |
699 if dlg.exec() == QDialog.Accepted: |
700 filePath, pageLayout = dlg.getData() |
700 filePath, pageLayout = dlg.getData() |
701 if filePath: |
701 if filePath: |
702 if os.path.exists(filePath): |
702 if os.path.exists(filePath): |
703 res = E5MessageBox.warning( |
703 res = E5MessageBox.warning( |
704 self, |
704 self, |
728 if name: |
728 if name: |
729 printer.setOutputFileName(name) |
729 printer.setOutputFileName(name) |
730 printer.setResolution(Preferences.getPrinter("Resolution")) |
730 printer.setResolution(Preferences.getPrinter("Resolution")) |
731 |
731 |
732 printDialog = QPrintDialog(printer, self) |
732 printDialog = QPrintDialog(printer, self) |
733 if printDialog.exec_() == QDialog.Accepted: |
733 if printDialog.exec() == QDialog.Accepted: |
734 browser.render(printer) |
734 browser.render(printer) |
735 |
735 |
736 def __pdfGeneratedForSave(self, filePath, pdfData): |
736 def __pdfGeneratedForSave(self, filePath, pdfData): |
737 """ |
737 """ |
738 Private slot to save the generated PDF data to a file. |
738 Private slot to save the generated PDF data to a file. |
794 |
794 |
795 preview = QPrintPreviewDialog(printer, self) |
795 preview = QPrintPreviewDialog(printer, self) |
796 preview.resize(800, 750) |
796 preview.resize(800, 750) |
797 preview.paintRequested.connect( |
797 preview.paintRequested.connect( |
798 lambda p: self.__printPreviewRequested(p, browser)) |
798 lambda p: self.__printPreviewRequested(p, browser)) |
799 preview.exec_() |
799 preview.exec() |
800 |
800 |
801 def __printPreviewRequested(self, printer, browser): |
801 def __printPreviewRequested(self, printer, browser): |
802 """ |
802 """ |
803 Private slot to generate the print preview. |
803 Private slot to generate the print preview. |
804 |
804 |
972 quitButton.setIcon(UI.PixmapCache.getIcon("exit")) |
972 quitButton.setIcon(UI.PixmapCache.getIcon("exit")) |
973 closeTabButton = mb.addButton( |
973 closeTabButton = mb.addButton( |
974 self.tr("C&lose Current Tab"), E5MessageBox.AcceptRole) |
974 self.tr("C&lose Current Tab"), E5MessageBox.AcceptRole) |
975 closeTabButton.setIcon(UI.PixmapCache.getIcon("tabClose")) |
975 closeTabButton.setIcon(UI.PixmapCache.getIcon("tabClose")) |
976 mb.addButton(E5MessageBox.Cancel) |
976 mb.addButton(E5MessageBox.Cancel) |
977 mb.exec_() |
977 mb.exec() |
978 if mb.clickedButton() == quitButton: |
978 if mb.clickedButton() == quitButton: |
979 return True |
979 return True |
980 else: |
980 else: |
981 if mb.clickedButton() == closeTabButton: |
981 if mb.clickedButton() == closeTabButton: |
982 self.closeBrowser() |
982 self.closeBrowser() |