WebBrowser/WebBrowserView.py

changeset 5721
b4d0cddecd64
parent 5719
73bbb3a8ee41
child 5730
6422afc7adc4
child 5736
000ea446ff4b
equal deleted inserted replaced
5720:fc72c0c81a0f 5721:b4d0cddecd64
1252 self.pageAction(QWebEnginePage.Back).trigger() 1252 self.pageAction(QWebEnginePage.Back).trigger()
1253 evt.accept() 1253 evt.accept()
1254 elif evt.button() == Qt.XButton2: 1254 elif evt.button() == Qt.XButton2:
1255 self.pageAction(QWebEnginePage.Forward).trigger() 1255 self.pageAction(QWebEnginePage.Forward).trigger()
1256 evt.accept() 1256 evt.accept()
1257 else:
1258 super(WebBrowserView, self).mousePressEvent(evt)
1259 1257
1260 def _mouseReleaseEvent(self, evt): 1258 def _mouseReleaseEvent(self, evt):
1261 """ 1259 """
1262 Protected method called by a mouse release event. 1260 Protected method called by a mouse release event.
1263 1261
1284 """ 1282 """
1285 Protected method to handle mouse move events. 1283 Protected method to handle mouse move events.
1286 1284
1287 @param evt reference to the mouse event (QMouseEvent) 1285 @param evt reference to the mouse event (QMouseEvent)
1288 """ 1286 """
1287 if self.__mw and self.__mw.isFullScreen():
1288 if self.__mw.isFullScreenNavigationVisible():
1289 self.__mw.hideFullScreenNavigation()
1290 elif evt.y() < 5:
1291 # mouse is within 5px to the top
1292 self.__mw.showFullScreenNavigation()
1293
1289 if WebBrowserWindow.autoScroller().mouseMove(evt): 1294 if WebBrowserWindow.autoScroller().mouseMove(evt):
1290 evt.accept() 1295 evt.accept()
1291 1296
1292 def _wheelEvent(self, evt): 1297 def _wheelEvent(self, evt):
1293 """ 1298 """
1304 if delta < 0: 1309 if delta < 0:
1305 self.zoomOut() 1310 self.zoomOut()
1306 else: 1311 else:
1307 self.zoomIn() 1312 self.zoomIn()
1308 evt.accept() 1313 evt.accept()
1309 return 1314
1310 1315 elif evt.modifiers() & Qt.ShiftModifier:
1311 if evt.modifiers() & Qt.ShiftModifier:
1312 if delta < 0: 1316 if delta < 0:
1313 self.backward() 1317 self.backward()
1314 else: 1318 else:
1315 self.forward() 1319 self.forward()
1316 evt.accept() 1320 evt.accept()
1317 return
1318
1319 super(WebBrowserView, self).wheelEvent(evt)
1320 1321
1321 def _keyPressEvent(self, evt): 1322 def _keyPressEvent(self, evt):
1322 """ 1323 """
1323 Protected method called by a key press. 1324 Protected method called by a key press.
1324 1325
1326 """ 1327 """
1327 if self.__mw.personalInformationManager().viewKeyPressEvent(self, evt): 1328 if self.__mw.personalInformationManager().viewKeyPressEvent(self, evt):
1328 evt.accept() 1329 evt.accept()
1329 return 1330 return
1330 1331
1331 super(WebBrowserView, self).keyPressEvent(evt) 1332 if evt.key() == Qt.Key_ZoomIn:
1333 self.zoomIn()
1334 evt.accept()
1335 elif evt.key() == Qt.Key_ZoomOut:
1336 self.zoomOut()
1337 evt.accept()
1338 elif evt.key() == Qt.Key_Plus:
1339 if evt.modifiers() & Qt.ControlModifier:
1340 self.zoomIn()
1341 evt.accept()
1342 elif evt.key() == Qt.Key_Minus:
1343 if evt.modifiers() & Qt.ControlModifier:
1344 self.zoomOut()
1345 evt.accept()
1346 elif evt.key() == Qt.Key_0:
1347 if evt.modifiers() & Qt.ControlModifier:
1348 self.zoomReset()
1349 evt.accept()
1350 elif evt.key() == Qt.Key_M:
1351 if evt.modifiers() & Qt.ControlModifier:
1352 self.__muteMedia()
1353 evt.accept()
1332 1354
1333 def _keyReleaseEvent(self, evt): 1355 def _keyReleaseEvent(self, evt):
1334 """ 1356 """
1335 Protected method called by a key release. 1357 Protected method called by a key release.
1336 1358
1339 if evt.key() == Qt.Key_Escape: 1361 if evt.key() == Qt.Key_Escape:
1340 if self.isFullScreen(): 1362 if self.isFullScreen():
1341 self.triggerPageAction(QWebEnginePage.ExitFullScreen) 1363 self.triggerPageAction(QWebEnginePage.ExitFullScreen)
1342 evt.accept() 1364 evt.accept()
1343 self.requestFullScreen(False) 1365 self.requestFullScreen(False)
1344 return
1345
1346 super(WebBrowserView, self).keyReleaseEvent(evt)
1347
1348 def focusOutEvent(self, evt):
1349 """
1350 Protected method called by a focus out event.
1351
1352 @param evt reference to the focus event (QFocusEvent)
1353 """
1354 super(WebBrowserView, self).focusOutEvent(evt)
1355
1356 def event(self, evt):
1357 """
1358 Public method handling events.
1359
1360 @param evt reference to the event (QEvent)
1361 @return flag indicating, if the event was handled (boolean)
1362 """
1363 if evt.type() == QEvent.Gesture:
1364 self._gestureEvent(evt)
1365 return True
1366
1367 return super(WebBrowserView, self).event(evt)
1368 1366
1369 def _gestureEvent(self, evt): 1367 def _gestureEvent(self, evt):
1370 """ 1368 """
1371 Protected method handling gesture events. 1369 Protected method handling gesture events.
1372 1370
1403 self.grabGesture(Qt.PinchGesture) 1401 self.grabGesture(Qt.PinchGesture)
1404 self.__rwhvqt.grabGesture(Qt.PinchGesture) 1402 self.__rwhvqt.grabGesture(Qt.PinchGesture)
1405 self.__rwhvqt.installEventFilter(self) 1403 self.__rwhvqt.installEventFilter(self)
1406 else: 1404 else:
1407 if obj is self and evt.type() == QEvent.ParentChange and \ 1405 if obj is self and evt.type() == QEvent.ParentChange and \
1408 self.parentWidget is not None: 1406 self.parentWidget() is not None:
1409 self.parentWidget().installEventFilter(self) 1407 self.parentWidget().installEventFilter(self)
1410 1408
1411 # forward events to WebBrowserView 1409 # forward events to WebBrowserView
1412 if obj is self.__rwhvqt and \ 1410 if obj is self.__rwhvqt and \
1413 evt.type() in [QEvent.KeyPress, QEvent.KeyRelease, 1411 evt.type() in [QEvent.KeyPress, QEvent.KeyRelease,
1456 elif evt.type() == QEvent.Hide: 1454 elif evt.type() == QEvent.Hide:
1457 if self.isFullScreen(): 1455 if self.isFullScreen():
1458 self.triggerPageAction(QWebEnginePage.ExitFullScreen) 1456 self.triggerPageAction(QWebEnginePage.ExitFullScreen)
1459 1457
1460 return super(WebBrowserView, self).eventFilter(obj, evt) 1458 return super(WebBrowserView, self).eventFilter(obj, evt)
1459
1460 def event(self, evt):
1461 """
1462 Public method handling events.
1463
1464 @param evt reference to the event (QEvent)
1465 @return flag indicating, if the event was handled (boolean)
1466 """
1467 if evt.type() == QEvent.Gesture:
1468 self._gestureEvent(evt)
1469 return True
1470
1471 return super(WebBrowserView, self).event(evt)
1461 1472
1462 def inputWidget(self): 1473 def inputWidget(self):
1463 """ 1474 """
1464 Public method to get a reference to the render widget. 1475 Public method to get a reference to the render widget.
1465 1476

eric ide

mercurial