WebBrowser/WebBrowserPage.py

changeset 5530
93f95c4b3153
parent 5389
9b1c800daff3
child 5534
f9368ecf153a
--- a/WebBrowser/WebBrowserPage.py	Sat Feb 18 12:23:35 2017 +0100
+++ b/WebBrowser/WebBrowserPage.py	Sat Feb 18 19:59:14 2017 +0100
@@ -62,6 +62,8 @@
         self.fullScreenRequested.connect(self.__fullScreenRequested)
         
         self.urlChanged.connect(self.__urlChanged)
+        
+        self.__printer = None
     
     def acceptNavigationRequest(self, url, type_, isMainFrame):
         """
@@ -308,6 +310,28 @@
         else:
             request.reject()
     
+    def printPage(self, printer):
+        """
+        Public method to print the current page.
+        
+        Note: This is just a wrapper around QWebEnginePage.print() to ensure
+        the printer object is available until the print job finished.
+        
+        @param printer reference to the printer object
+        @type QPrinter
+        """
+        self.__printer = printer
+        self.print(self.__printer, self.__printFinished)
+    
+    def __printFinished(self, ok):
+        """
+        Private method called when the print job finished.
+        
+        @param ok flag indicating a successful print
+        @type bool
+        """
+        self.__printer = None
+    
     ##############################################
     ## Methods below deal with JavaScript messages
     ##############################################

eric ide

mercurial