429 """<p>Print the displayed help text.</p>""" |
429 """<p>Print the displayed help text.</p>""" |
430 )) |
430 )) |
431 self.connect(self.printAct, SIGNAL('triggered()'), self.__printFile) |
431 self.connect(self.printAct, SIGNAL('triggered()'), self.__printFile) |
432 self.__actions.append(self.printAct) |
432 self.__actions.append(self.printAct) |
433 |
433 |
|
434 self.printPdfAct = E5Action(self.trUtf8('Print as PDF'), |
|
435 UI.PixmapCache.getIcon("printPdf.png"), |
|
436 self.trUtf8('Print as PDF'), |
|
437 0, 0, self, 'help_file_print_pdf') |
|
438 self.printPdfAct.setStatusTip(self.trUtf8('Print the displayed help as PDF')) |
|
439 self.printPdfAct.setWhatsThis(self.trUtf8( |
|
440 """<b>Print as PDF</b>""" |
|
441 """<p>Print the displayed help text as a PDF file.</p>""" |
|
442 )) |
|
443 self.connect(self.printPdfAct, SIGNAL('triggered()'), self.__printFilePdf) |
|
444 self.__actions.append(self.printPdfAct) |
|
445 |
434 self.printPreviewAct = E5Action(self.trUtf8('Print Preview'), |
446 self.printPreviewAct = E5Action(self.trUtf8('Print Preview'), |
435 UI.PixmapCache.getIcon("printPreview.png"), |
447 UI.PixmapCache.getIcon("printPreview.png"), |
436 self.trUtf8('Print Preview'), |
448 self.trUtf8('Print Preview'), |
437 0, 0, self, 'help_file_print_preview') |
449 0, 0, self, 'help_file_print_preview') |
438 self.printPreviewAct.setStatusTip(self.trUtf8( |
450 self.printPreviewAct.setStatusTip(self.trUtf8( |
1066 menu.addAction(self.importBookmarksAct) |
1078 menu.addAction(self.importBookmarksAct) |
1067 menu.addAction(self.exportBookmarksAct) |
1079 menu.addAction(self.exportBookmarksAct) |
1068 menu.addSeparator() |
1080 menu.addSeparator() |
1069 menu.addAction(self.printPreviewAct) |
1081 menu.addAction(self.printPreviewAct) |
1070 menu.addAction(self.printAct) |
1082 menu.addAction(self.printAct) |
|
1083 menu.addAction(self.printPdfAct) |
1071 menu.addSeparator() |
1084 menu.addSeparator() |
1072 menu.addAction(self.closeAct) |
1085 menu.addAction(self.closeAct) |
1073 menu.addAction(self.closeAllAct) |
1086 menu.addAction(self.closeAllAct) |
1074 menu.addSeparator() |
1087 menu.addSeparator() |
1075 menu.addAction(self.privateBrowsingAct) |
1088 menu.addAction(self.privateBrowsingAct) |
1198 self.__tabContextMenu.addSeparator() |
1211 self.__tabContextMenu.addSeparator() |
1199 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("printPreview.png"), |
1212 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("printPreview.png"), |
1200 self.trUtf8('Print Preview'), self.__tabContextMenuPrintPreview) |
1213 self.trUtf8('Print Preview'), self.__tabContextMenuPrintPreview) |
1201 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("print.png"), |
1214 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("print.png"), |
1202 self.trUtf8('Print'), self.__tabContextMenuPrint) |
1215 self.trUtf8('Print'), self.__tabContextMenuPrint) |
|
1216 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("printPdf.png"), |
|
1217 self.trUtf8('Print as PDF'), self.__tabContextMenuPrintPdf) |
1203 self.__tabContextMenu.addSeparator() |
1218 self.__tabContextMenu.addSeparator() |
1204 self.__tabContextMenu.addAction(self.bookmarksAllTabsAct) |
1219 self.__tabContextMenu.addAction(self.bookmarksAllTabsAct) |
1205 |
1220 |
1206 def __initToolbars(self): |
1221 def __initToolbars(self): |
1207 """ |
1222 """ |
1217 filetb.addSeparator() |
1232 filetb.addSeparator() |
1218 filetb.addAction(self.saveAsAct) |
1233 filetb.addAction(self.saveAsAct) |
1219 filetb.addSeparator() |
1234 filetb.addSeparator() |
1220 filetb.addAction(self.printPreviewAct) |
1235 filetb.addAction(self.printPreviewAct) |
1221 filetb.addAction(self.printAct) |
1236 filetb.addAction(self.printAct) |
|
1237 filetb.addAction(self.printPdfAct) |
1222 filetb.addSeparator() |
1238 filetb.addSeparator() |
1223 filetb.addAction(self.closeAct) |
1239 filetb.addAction(self.closeAct) |
1224 filetb.addAction(self.exitAct) |
1240 filetb.addAction(self.exitAct) |
1225 |
1241 |
1226 edittb = self.addToolBar(self.trUtf8("Edit")) |
1242 edittb = self.addToolBar(self.trUtf8("Edit")) |
1605 if Preferences.getPrinter("FirstPageFirst"): |
1621 if Preferences.getPrinter("FirstPageFirst"): |
1606 printer.setPageOrder(QPrinter.FirstPageFirst) |
1622 printer.setPageOrder(QPrinter.FirstPageFirst) |
1607 else: |
1623 else: |
1608 printer.setPageOrder(QPrinter.LastPageFirst) |
1624 printer.setPageOrder(QPrinter.LastPageFirst) |
1609 printer.setPrinterName(Preferences.getPrinter("PrinterName")) |
1625 printer.setPrinterName(Preferences.getPrinter("PrinterName")) |
|
1626 |
|
1627 printDialog = QPrintDialog(printer, self) |
|
1628 if printDialog.exec_() == QDialog.Accepted: |
|
1629 try: |
|
1630 frame.print_(printer) |
|
1631 except AttributeError: |
|
1632 QMessageBox.critical(self, |
|
1633 self.trUtf8("Eric Web Browser"), |
|
1634 self.trUtf8("""<p>Printing is not available due to a bug in PyQt4.""" |
|
1635 """Please upgrade.</p>""")) |
|
1636 return |
|
1637 |
|
1638 def __printFilePdf(self, browser = None): |
|
1639 """ |
|
1640 Private slot called to print the displayed file to PDF. |
|
1641 |
|
1642 @param browser reference to the browser to be printed (HelpBrowserWV) |
|
1643 """ |
|
1644 if browser is None: |
|
1645 browser = self.currentBrowser() |
|
1646 |
|
1647 self.__printPdfRequested(browser.page().mainFrame()) |
|
1648 |
|
1649 def __printPdfRequested(self, frame): |
|
1650 """ |
|
1651 Private slot to handle a print to PDF request. |
|
1652 |
|
1653 @param frame reference to the frame to be printed (QWebFrame) |
|
1654 """ |
|
1655 printer = QPrinter(mode = QPrinter.HighResolution) |
|
1656 if Preferences.getPrinter("ColorMode"): |
|
1657 printer.setColorMode(QPrinter.Color) |
|
1658 else: |
|
1659 printer.setColorMode(QPrinter.GrayScale) |
|
1660 printer.setPrinterName(Preferences.getPrinter("PrinterName")) |
|
1661 printer.setOutputFormat(QPrinter.PdfFormat) |
|
1662 name = frame.url().path().rsplit('/', 1)[-1] |
|
1663 if name: |
|
1664 name = name.rsplit('.', 1)[0] |
|
1665 name += '.pdf' |
|
1666 printer.setOutputFileName(name) |
1610 |
1667 |
1611 printDialog = QPrintDialog(printer, self) |
1668 printDialog = QPrintDialog(printer, self) |
1612 if printDialog.exec_() == QDialog.Accepted: |
1669 if printDialog.exec_() == QDialog.Accepted: |
1613 try: |
1670 try: |
1614 frame.print_(printer) |
1671 frame.print_(printer) |
2082 self.pathCombo.clearEditText() |
2139 self.pathCombo.clearEditText() |
2083 |
2140 |
2084 self.__setPathComboBackground() |
2141 self.__setPathComboBackground() |
2085 |
2142 |
2086 self.printAct.setEnabled(hasattr(cb, 'print_')) |
2143 self.printAct.setEnabled(hasattr(cb, 'print_')) |
|
2144 self.printPdfAct.setEnabled(hasattr(cb, 'print_')) |
2087 if self.printPreviewAct: |
2145 if self.printPreviewAct: |
2088 self.printPreviewAct.setEnabled(hasattr(cb, 'print_')) |
2146 self.printPreviewAct.setEnabled(hasattr(cb, 'print_')) |
2089 |
2147 |
2090 self.iconChanged(cb.icon()) |
2148 self.iconChanged(cb.icon()) |
2091 |
2149 |
2147 """ |
2205 """ |
2148 Private method to print the selected tab. |
2206 Private method to print the selected tab. |
2149 """ |
2207 """ |
2150 browser = self.tabWidget.widget(self.tabContextMenuIndex) |
2208 browser = self.tabWidget.widget(self.tabContextMenuIndex) |
2151 self.__printFile(browser) |
2209 self.__printFile(browser) |
|
2210 |
|
2211 def __tabContextMenuPrintPdf(self): |
|
2212 """ |
|
2213 Private method to print the selected tab. |
|
2214 """ |
|
2215 browser = self.tabWidget.widget(self.tabContextMenuIndex) |
|
2216 self.__printFilePdf(browser) |
2152 |
2217 |
2153 def __tabContextMenuPrintPreview(self): |
2218 def __tabContextMenuPrintPreview(self): |
2154 """ |
2219 """ |
2155 Private method to show a print preview of the selected tab. |
2220 Private method to show a print preview of the selected tab. |
2156 """ |
2221 """ |