WebBrowser/WebBrowserWindow.py

changeset 5181
1948b27d7b21
parent 5108
f5cb9cb98e6a
child 5182
e2782c9a43d4
--- a/WebBrowser/WebBrowserWindow.py	Sat Sep 24 18:00:30 2016 +0200
+++ b/WebBrowser/WebBrowserWindow.py	Tue Sep 27 19:41:11 2016 +0200
@@ -18,7 +18,7 @@
 import sys
 
 from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QByteArray, QSize, QTimer, \
-    QUrl, QTextCodec, QProcess, QEvent
+    QUrl, QTextCodec, QProcess, QEvent, qVersion
 from PyQt5.QtGui import QDesktopServices, QKeySequence, QFont, QFontMetrics
 from PyQt5.QtWidgets import QWidget, QVBoxLayout, QSizePolicy, QDockWidget, \
     QComboBox, QLabel, QSplitter, QMenu, QToolButton, QLineEdit, \
@@ -701,22 +701,26 @@
                 bookmarksManager.exportBookmarks)
         self.__actions.append(self.exportBookmarksAct)
         
-        self.printAct = E5Action(
-            self.tr('Print'),
-            UI.PixmapCache.getIcon("print.png"),
-            self.tr('&Print'),
-            QKeySequence(self.tr("Ctrl+P", "File|Print")),
-            0, self, 'webbrowser_file_print')
-        self.printAct.setStatusTip(self.tr('Print the displayed help'))
-        self.printAct.setWhatsThis(self.tr(
-            """<b>Print</b>"""
-            """<p>Print the displayed help text.</p>"""
-        ))
-        if not self.__initShortcutsOnly:
-            self.printAct.triggered.connect(self.__tabWidget.printBrowser)
-        self.__actions.append(self.printAct)
-        
-        if Globals.isLinuxPlatform():
+        if not Globals.isWindowsPlatform():
+            # TODO: implement printing based on printToPdf()
+            self.printAct = E5Action(
+                self.tr('Print'),
+                UI.PixmapCache.getIcon("print.png"),
+                self.tr('&Print'),
+                QKeySequence(self.tr("Ctrl+P", "File|Print")),
+                0, self, 'webbrowser_file_print')
+            self.printAct.setStatusTip(self.tr('Print the displayed help'))
+            self.printAct.setWhatsThis(self.tr(
+                """<b>Print</b>"""
+                """<p>Print the displayed help text.</p>"""
+            ))
+            if not self.__initShortcutsOnly:
+                self.printAct.triggered.connect(self.__tabWidget.printBrowser)
+            self.__actions.append(self.printAct)
+        else:
+            self.printAct = None
+        
+        if Globals.isLinuxPlatform() or qVersion() >= "5.7.0":
             self.printPdfAct = E5Action(
                 self.tr('Print as PDF'),
                 UI.PixmapCache.getIcon("printPdf.png"),
@@ -735,21 +739,24 @@
         else:
             self.printPdfAct = None
         
-        self.printPreviewAct = E5Action(
-            self.tr('Print Preview'),
-            UI.PixmapCache.getIcon("printPreview.png"),
-            self.tr('Print Preview'),
-            0, 0, self, 'webbrowser_file_print_preview')
-        self.printPreviewAct.setStatusTip(self.tr(
-            'Print preview of the displayed help'))
-        self.printPreviewAct.setWhatsThis(self.tr(
-            """<b>Print Preview</b>"""
-            """<p>Print preview of the displayed help text.</p>"""
-        ))
-        if not self.__initShortcutsOnly:
-            self.printPreviewAct.triggered.connect(
-                self.__tabWidget.printPreviewBrowser)
-        self.__actions.append(self.printPreviewAct)
+        if not Globals.isWindowsPlatform():
+            self.printPreviewAct = E5Action(
+                self.tr('Print Preview'),
+                UI.PixmapCache.getIcon("printPreview.png"),
+                self.tr('Print Preview'),
+                0, 0, self, 'webbrowser_file_print_preview')
+            self.printPreviewAct.setStatusTip(self.tr(
+                'Print preview of the displayed help'))
+            self.printPreviewAct.setWhatsThis(self.tr(
+                """<b>Print Preview</b>"""
+                """<p>Print preview of the displayed help text.</p>"""
+            ))
+            if not self.__initShortcutsOnly:
+                self.printPreviewAct.triggered.connect(
+                    self.__tabWidget.printPreviewBrowser)
+            self.__actions.append(self.printPreviewAct)
+        else:
+            self.printPreviewAct = None
         
         self.closeAct = E5Action(
             self.tr('Close'),
@@ -1774,8 +1781,10 @@
         menu.addAction(self.savePageScreenAct)
         menu.addAction(self.saveVisiblePageScreenAct)
         menu.addSeparator()
-        menu.addAction(self.printPreviewAct)
-        menu.addAction(self.printAct)
+        if self.printPreviewAct:
+            menu.addAction(self.printPreviewAct)
+        if self.printAct:
+            menu.addAction(self.printAct)
         if self.printPdfAct:
             menu.addAction(self.printPdfAct)
         menu.addSeparator()
@@ -1941,8 +1950,10 @@
             filetb.addAction(self.saveAsAct)
         filetb.addAction(self.savePageScreenAct)
         filetb.addSeparator()
-        filetb.addAction(self.printPreviewAct)
-        filetb.addAction(self.printAct)
+        if self.printPreviewAct:
+            filetb.addAction(self.printPreviewAct)
+        if self.printAct:
+            filetb.addAction(self.printAct)
         if self.printPdfAct:
             filetb.addAction(self.printPdfAct)
         filetb.addSeparator()

eric ide

mercurial