diff -r 55c9bb589b0a -r ef400197e7d5 WebBrowser/WebBrowserView.py --- a/WebBrowser/WebBrowserView.py Sat Apr 30 13:07:13 2016 +0200 +++ b/WebBrowser/WebBrowserView.py Sat Apr 30 20:01:30 2016 +0200 @@ -23,6 +23,7 @@ from E5Gui import E5MessageBox +from WebBrowser.WebBrowserWindow import WebBrowserWindow from .WebBrowserPage import WebBrowserPage from .Tools.WebIconLoader import WebIconLoader @@ -76,7 +77,6 @@ self.__rwhvqt = None self.installEventFilter(self) - from WebBrowser.WebBrowserWindow import WebBrowserWindow self.__speedDial = WebBrowserWindow.speedDial() self.__page = WebBrowserPage(self) @@ -578,8 +578,6 @@ @param hitTest reference to the hit test object @type WebHitTestResult """ - from WebBrowser.WebBrowserWindow import WebBrowserWindow - if not menu.isEmpty(): menu.addSeparator() @@ -987,7 +985,6 @@ """ Private slot to add a block rule for an image URL. """ - from WebBrowser.WebBrowserWindow import WebBrowserWindow act = self.sender() url = act.data() dlg = WebBrowserWindow.adBlockManager().showDialog() @@ -1173,13 +1170,19 @@ @param evt reference to the mouse event (QMouseEvent) """ + if WebBrowserWindow.autoScroller().mousePress(self, evt): + evt.accept() + return + self.__mw.setEventMouseButtons(evt.buttons()) self.__mw.setEventKeyboardModifiers(evt.modifiers()) if evt.button() == Qt.XButton1: self.pageAction(QWebEnginePage.Back).trigger() + evt.accept() elif evt.button() == Qt.XButton2: self.pageAction(QWebEnginePage.Forward).trigger() + evt.accept() else: super(WebBrowserView, self).mousePressEvent(evt) @@ -1189,6 +1192,10 @@ @param evt reference to the mouse event (QMouseEvent) """ + if WebBrowserWindow.autoScroller().mouseRelease(evt): + evt.accept() + return + accepted = evt.isAccepted() self.__page.event(evt) if not evt.isAccepted() and \ @@ -1202,12 +1209,25 @@ self.setSource(url) evt.setAccepted(accepted) + def _mouseMoveEvent(self, evt): + """ + Protected method to handle mouse move events. + + @param evt reference to the mouse event (QMouseEvent) + """ + if WebBrowserWindow.autoScroller().mouseMove(evt): + evt.accept() + def _wheelEvent(self, evt): """ Protected method to handle wheel events. @param evt reference to the wheel event (QWheelEvent) """ + if WebBrowserWindow.autoScroller().wheel(): + evt.accept() + return + delta = evt.angleDelta().y() if evt.modifiers() & Qt.ControlModifier: if delta < 0: @@ -1322,6 +1342,8 @@ self._mousePressEvent(evt) elif evt.type() == QEvent.MouseButtonRelease: self._mouseReleaseEvent(evt) + elif evt.type() == QEvent.MouseMove: + self._mouseMoveEvent(evt) elif evt.type() == QEvent.Wheel: self._wheelEvent(evt) elif evt.type() == QEvent.Gesture: @@ -1340,6 +1362,15 @@ return super(WebBrowserView, self).eventFilter(obj, evt) + def inputWidget(self): + """ + Public method to get a reference to the render widget. + + @return reference to the render widget + @rtype QWidget + """ + return self.__rwhvqt + def clearHistory(self): """ Public slot to clear the history.