WebBrowser/WebBrowserView.py

branch
maintenance
changeset 6273
0daf79d65080
parent 6166
bace7fb85a01
parent 6269
51a0f31bb240
child 6455
22a6fc33ab6d
--- a/WebBrowser/WebBrowserView.py	Mon Apr 02 12:04:56 2018 +0200
+++ b/WebBrowser/WebBrowserView.py	Tue May 01 12:03:52 2018 +0200
@@ -95,6 +95,7 @@
         self.__createNewPage()
         
         self.__mw = mainWindow
+        self.__tabWidget = parent
         self.__isLoading = False
         self.__progress = 0
         self.__siteIconLoader = None
@@ -135,7 +136,8 @@
         if qVersionTuple() >= (5, 8, 0):
             if self.parentWidget() is not None:
                 self.parentWidget().installEventFilter(self)
-            
+        
+        if qVersionTuple() >= (5, 8, 0) and qVersionTuple() < (5, 11, 0):
             lay = self.layout()
             lay.currentChanged.connect(
                 lambda: QTimer.singleShot(0, self.__setRwhvqt))
@@ -182,6 +184,16 @@
         """
         return self.__mw
     
+    def tabWidget(self):
+        """
+        Public method to get a reference to the tab widget containing this
+        view.
+        
+        @return reference to the tab widget
+        @rtype WebBrowserTabWidget
+        """
+        return self.__tabWidget
+    
     def load(self, url):
         """
         Public method to load a web site.
@@ -1488,6 +1500,10 @@
         @return flag indicating that the event should be filtered out
         @rtype bool
         """
+        if obj is self and evt.type() == QEvent.ParentChange and \
+           self.parentWidget() is not None:
+            self.parentWidget().installEventFilter(self)
+        
         # find the render widget receiving events for the web page
         if qVersionTuple() < (5, 8, 0):
             if obj is self and evt.type() == QEvent.ChildAdded:
@@ -1499,10 +1515,9 @@
                     self.grabGesture(Qt.PinchGesture)
                     self.__rwhvqt.grabGesture(Qt.PinchGesture)
                     self.__rwhvqt.installEventFilter(self)
-        else:
-            if obj is self and evt.type() == QEvent.ParentChange and \
-               self.parentWidget() is not None:
-                self.parentWidget().installEventFilter(self)
+        elif qVersionTuple() >= (5, 11, 0):
+            if obj is self and evt.type() == QEvent.ChildAdded:
+                QTimer.singleShot(0, self.__setRwhvqt)
         
         # forward events to WebBrowserView
         if obj is self.__rwhvqt and \

eric ide

mercurial