diff options
Diffstat (limited to 'qutebrowser/browser/webengine/webengineelem.py')
-rw-r--r-- | qutebrowser/browser/webengine/webengineelem.py | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/qutebrowser/browser/webengine/webengineelem.py b/qutebrowser/browser/webengine/webengineelem.py index 5d4c6ad9a..8068e2278 100644 --- a/qutebrowser/browser/webengine/webengineelem.py +++ b/qutebrowser/browser/webengine/webengineelem.py @@ -21,13 +21,12 @@ from typing import ( TYPE_CHECKING, Any, Callable, Dict, Iterator, Optional, Set, Tuple, Union) - -from PyQt5.QtCore import QRect, QEventLoop -from PyQt5.QtWidgets import QApplication -from PyQt5.QtWebEngineWidgets import QWebEngineSettings +from qutebrowser.qt import QtWidgets +from qutebrowser.qt import QtWebEngineWidgets from qutebrowser.utils import log, javascript, urlutils, usertypes, utils from qutebrowser.browser import webelem +from qutebrowser.qt import QtCore if TYPE_CHECKING: from qutebrowser.browser.webengine import webenginetab @@ -114,9 +113,9 @@ class WebEngineElement(webelem.AbstractWebElement): def has_frame(self) -> bool: return True - def geometry(self) -> QRect: + def geometry(self) -> QtCore.QRect: log.stub() - return QRect() + return QtCore.QRect() def classes(self) -> Set[str]: """Get a list of classes assigned to this element.""" @@ -163,8 +162,8 @@ class WebEngineElement(webelem.AbstractWebElement): log.webelem.debug("Inserting text into element {!r}".format(self)) self._js_call('insert_text', text) - def rect_on_view(self, *, elem_geometry: QRect = None, - no_js: bool = False) -> QRect: + def rect_on_view(self, *, elem_geometry: QtCore.QRect = None, + no_js: bool = False) -> QtCore.QRect: """Get the geometry of the element relative to the webview. Skipping of small rectangles is due to <a> elements containing other @@ -193,7 +192,7 @@ class WebEngineElement(webelem.AbstractWebElement): # We're not checking for zoom.text_only here as that doesn't # exist for QtWebEngine. zoom = self._tab.zoom.factor() - rect = QRect(int(left * zoom), int(top * zoom), + rect = QtCore.QRect(int(left * zoom), int(top * zoom), int(width * zoom), int(height * zoom)) # FIXME:qtwebengine # frame = self._elem.webFrame() @@ -205,7 +204,7 @@ class WebEngineElement(webelem.AbstractWebElement): return rect log.webelem.debug("Couldn't find rectangle for {!r} ({})".format( self, rects)) - return QRect() + return QtCore.QRect() def remove_blank_target(self) -> None: if self._js_dict['attributes'].get('target') == '_blank': @@ -240,7 +239,7 @@ class WebEngineElement(webelem.AbstractWebElement): view = self._tab._widget assert view is not None # pylint: enable=protected-access - attribute = QWebEngineSettings.JavascriptCanOpenWindows + attribute = QtWebEngineWidgets.QWebEngineSettings.JavascriptCanOpenWindows could_open_windows = view.settings().testAttribute(attribute) view.settings().setAttribute(attribute, True) @@ -248,9 +247,9 @@ class WebEngineElement(webelem.AbstractWebElement): # (it does so with a 0ms QTimer...) # This is also used in Qt's tests: # https://github.com/qt/qtwebengine/commit/5e572e88efa7ba7c2b9138ec19e606d3e345ac90 - QApplication.processEvents( # type: ignore[call-overload] - QEventLoop.ExcludeSocketNotifiers | - QEventLoop.ExcludeUserInputEvents) + QtWidgets.QApplication.processEvents( # type: ignore[call-overload] + QtCore.QEventLoop.ExcludeSocketNotifiers | + QtCore.QEventLoop.ExcludeUserInputEvents) def reset_setting(_arg: Any) -> None: """Set the JavascriptCanOpenWindows setting to its old value.""" |