--- a/WebBrowser/WebInspector.py Wed Jul 04 19:36:49 2018 +0200 +++ b/WebBrowser/WebInspector.py Wed Jul 04 19:38:44 2018 +0200 @@ -21,12 +21,13 @@ from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage, \ QWebEngineSettings +from Globals import qVersionTuple + import Preferences _VIEWS = [] -# TODO: add support for web inspector variant of Qt 5.11 class WebInspector(QWebEngineView): """ Class implementing a QWebEngineView to load the web inspector in. @@ -94,18 +95,23 @@ self.__inspectElement = inspectElement - port = Preferences.getWebBrowser("WebInspectorPort") - inspectorUrl = QUrl("http://localhost:{0}".format(port)) - - from WebBrowser.WebBrowserWindow import WebBrowserWindow - self.__reply = WebBrowserWindow.networkManager().get( - QNetworkRequest(inspectorUrl.resolved(QUrl("json/list")))) - self.__reply.finished.connect(self.__inspectorReplyFinished) + try: + self.page().setInspectedPage(self.__view.page()) + except AttributeError: + # pre Qt 5.11 + port = Preferences.getWebBrowser("WebInspectorPort") + inspectorUrl = QUrl("http://localhost:{0}".format(port)) + + from WebBrowser.WebBrowserWindow import WebBrowserWindow + self.__reply = WebBrowserWindow.networkManager().get( + QNetworkRequest(inspectorUrl.resolved(QUrl("json/list")))) + self.__reply.finished.connect(self.__inspectorReplyFinished) def __inspectorReplyFinished(self): """ Private slot handling the reply. """ + # used for pre Qt 5.11 result = str(self.__reply.readAll(), encoding="utf8") self.__reply.deleteLater() @@ -146,15 +152,19 @@ @return flag indicating the enabled state @rtype bool """ - if not os.getenv("QTWEBENGINE_REMOTE_DEBUGGING"): - return False + if qVersionTuple() < (5, 11, 0): + if not os.getenv("QTWEBENGINE_REMOTE_DEBUGGING"): + return False from WebBrowser.WebBrowserWindow import WebBrowserWindow if not WebBrowserWindow.webSettings().testAttribute( QWebEngineSettings.JavascriptEnabled): return False - return Preferences.getWebBrowser("WebInspectorEnabled") + if qVersionTuple() < (5, 11, 0): + return Preferences.getWebBrowser("WebInspectorEnabled") + else: + return True def __loadFinished(self): """