WebBrowser/WebBrowserView.py

branch
maintenance
changeset 5680
b93cb6353cc0
parent 5633
1a767ca5bbf3
parent 5631
d0beabfaad42
child 5730
6422afc7adc4
diff -r 884cd9c9ce05 -r b93cb6353cc0 WebBrowser/WebBrowserView.py
--- a/WebBrowser/WebBrowserView.py	Thu Mar 23 18:58:56 2017 +0100
+++ b/WebBrowser/WebBrowserView.py	Fri Apr 07 18:33:59 2017 +0200
@@ -122,8 +122,26 @@
         self.__inspector = None
         WebInspector.registerView(self)
         
+        if qVersion() >= "5.8.0":
+            lay = self.layout()
+            lay.currentChanged.connect(
+                lambda: QTimer.singleShot(0, self.__setRwhvqt))
+            self.__setRwhvqt()
+        
         self.grabGesture(Qt.PinchGesture)
     
+    def __setRwhvqt(self):
+        """
+        Private slot to set widget that receives input events.
+        """
+        self.grabGesture(Qt.PinchGesture)
+        self.__rwhvqt = self.focusProxy()
+        if self.__rwhvqt:
+            self.__rwhvqt.grabGesture(Qt.PinchGesture)
+            self.__rwhvqt.installEventFilter(self)
+        else:
+            print("Focus proxy is null!")   # __IGNORE_WARNING_M801__
+    
     def __currentEngineChanged(self):
         """
         Private slot to track a change of the current search engine.
@@ -503,7 +521,6 @@
         @param hitTest reference to the hit test object
         @type WebHitTestResult
         """
-        # TODO: Qt 5.8 - add support for spell checking
         spellCheckActionCount = 0
         if qVersion() >= "5.7.0":
             contextMenuData = self.page().contextMenuData()
@@ -1372,14 +1389,16 @@
         @rtype bool
         """
         # find the render widget receiving events for the web page
-        if obj is self and evt.type() == QEvent.ChildAdded:
-            child = evt.child()
-            if child and child.inherits(
-                    "QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget"):
-                self.__rwhvqt = child
-                self.grabGesture(Qt.PinchGesture)
-                self.__rwhvqt.grabGesture(Qt.PinchGesture)
-                self.__rwhvqt.installEventFilter(self)
+        if qVersion() < "5.8.0":
+            if obj is self and evt.type() == QEvent.ChildAdded:
+                child = evt.child()
+                if child and child.inherits(
+                        "QtWebEngineCore::"
+                        "RenderWidgetHostViewQtDelegateWidget"):
+                    self.__rwhvqt = child
+                    self.grabGesture(Qt.PinchGesture)
+                    self.__rwhvqt.grabGesture(Qt.PinchGesture)
+                    self.__rwhvqt.installEventFilter(self)
         
         # forward events to WebBrowserView
         if obj is self.__rwhvqt:

eric ide

mercurial