diff -r 1df33bb9df28 -r 11670490db05 WebBrowser/WebBrowserView.py --- a/WebBrowser/WebBrowserView.py Sat Mar 18 12:05:31 2017 +0100 +++ b/WebBrowser/WebBrowserView.py Sat Mar 18 13:05:41 2017 +0100 @@ -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. @@ -1371,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: