--- a/WebBrowser/WebBrowserView.py Thu Apr 27 18:33:57 2017 +0200 +++ b/WebBrowser/WebBrowserView.py Sat Apr 29 20:07:34 2017 +0200 @@ -1254,8 +1254,6 @@ elif evt.button() == Qt.XButton2: self.pageAction(QWebEnginePage.Forward).trigger() evt.accept() - else: - super(WebBrowserView, self).mousePressEvent(evt) def _mouseReleaseEvent(self, evt): """ @@ -1286,6 +1284,13 @@ @param evt reference to the mouse event (QMouseEvent) """ + if self.__mw and self.__mw.isFullScreen(): + if self.__mw.isFullScreenNavigationVisible(): + self.__mw.hideFullScreenNavigation() + elif evt.y() < 5: + # mouse is within 5px to the top + self.__mw.showFullScreenNavigation() + if WebBrowserWindow.autoScroller().mouseMove(evt): evt.accept() @@ -1306,17 +1311,13 @@ else: self.zoomIn() evt.accept() - return - if evt.modifiers() & Qt.ShiftModifier: + elif evt.modifiers() & Qt.ShiftModifier: if delta < 0: self.backward() else: self.forward() evt.accept() - return - - super(WebBrowserView, self).wheelEvent(evt) def _keyPressEvent(self, evt): """ @@ -1328,7 +1329,28 @@ evt.accept() return - super(WebBrowserView, self).keyPressEvent(evt) + if evt.key() == Qt.Key_ZoomIn: + self.zoomIn() + evt.accept() + elif evt.key() == Qt.Key_ZoomOut: + self.zoomOut() + evt.accept() + elif evt.key() == Qt.Key_Plus: + if evt.modifiers() & Qt.ControlModifier: + self.zoomIn() + evt.accept() + elif evt.key() == Qt.Key_Minus: + if evt.modifiers() & Qt.ControlModifier: + self.zoomOut() + evt.accept() + elif evt.key() == Qt.Key_0: + if evt.modifiers() & Qt.ControlModifier: + self.zoomReset() + evt.accept() + elif evt.key() == Qt.Key_M: + if evt.modifiers() & Qt.ControlModifier: + self.__muteMedia() + evt.accept() def _keyReleaseEvent(self, evt): """ @@ -1341,30 +1363,6 @@ self.triggerPageAction(QWebEnginePage.ExitFullScreen) evt.accept() self.requestFullScreen(False) - return - - super(WebBrowserView, self).keyReleaseEvent(evt) - - def focusOutEvent(self, evt): - """ - Protected method called by a focus out event. - - @param evt reference to the focus event (QFocusEvent) - """ - super(WebBrowserView, self).focusOutEvent(evt) - - def event(self, evt): - """ - Public method handling events. - - @param evt reference to the event (QEvent) - @return flag indicating, if the event was handled (boolean) - """ - if evt.type() == QEvent.Gesture: - self._gestureEvent(evt) - return True - - return super(WebBrowserView, self).event(evt) def _gestureEvent(self, evt): """ @@ -1405,7 +1403,7 @@ self.__rwhvqt.installEventFilter(self) else: if obj is self and evt.type() == QEvent.ParentChange and \ - self.parentWidget is not None: + self.parentWidget() is not None: self.parentWidget().installEventFilter(self) # forward events to WebBrowserView @@ -1459,6 +1457,19 @@ return super(WebBrowserView, self).eventFilter(obj, evt) + def event(self, evt): + """ + Public method handling events. + + @param evt reference to the event (QEvent) + @return flag indicating, if the event was handled (boolean) + """ + if evt.type() == QEvent.Gesture: + self._gestureEvent(evt) + return True + + return super(WebBrowserView, self).event(evt) + def inputWidget(self): """ Public method to get a reference to the render widget.