Check for editable fields in mousePressEvent
This commit is contained in:
parent
ce48ed9b8e
commit
a33c9827d6
@ -249,12 +249,13 @@ class BrowserTab(QWebView):
|
|||||||
return super().paintEvent(e)
|
return super().paintEvent(e)
|
||||||
|
|
||||||
def mousePressEvent(self, e):
|
def mousePressEvent(self, e):
|
||||||
"""Check if a link was clicked with the middle button or Ctrl.
|
"""Extend QWidget::mousePressEvent().
|
||||||
|
|
||||||
Extend the superclass mousePressEvent().
|
This does the following things:
|
||||||
|
- Check if a link was clicked with the middle button or Ctrl and
|
||||||
This also is a bit of a hack, but it seems it's the only possible way.
|
set the _open_target attribute accordingly.
|
||||||
Set the _open_target attribute accordingly.
|
- Emit the editable_elem_selected signal if an editable element was
|
||||||
|
clicked.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
e: The arrived event.
|
e: The arrived event.
|
||||||
@ -262,6 +263,14 @@ class BrowserTab(QWebView):
|
|||||||
Return:
|
Return:
|
||||||
The superclass return value.
|
The superclass return value.
|
||||||
"""
|
"""
|
||||||
|
pos = e.pos()
|
||||||
|
frame = self.page_.frameAt(pos)
|
||||||
|
pos -= frame.geometry().topLeft()
|
||||||
|
hitresult = frame.hitTestContent(pos)
|
||||||
|
if hitresult.isContentEditable():
|
||||||
|
logging.debug("Clicked editable element!")
|
||||||
|
self.setFocus()
|
||||||
|
|
||||||
if self._force_open_target is not None:
|
if self._force_open_target is not None:
|
||||||
self._open_target = self._force_open_target
|
self._open_target = self._force_open_target
|
||||||
self._force_open_target = None
|
self._force_open_target = None
|
||||||
|
Loading…
Reference in New Issue
Block a user