WebBrowser/WebBrowserView.py

changeset 5721
b4d0cddecd64
parent 5719
73bbb3a8ee41
child 5730
6422afc7adc4
child 5736
000ea446ff4b
--- 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.

eric ide

mercurial