Wed, 04 Jul 2018 19:38:44 +0200
WebInspector: adjusted the code to support the enhanced web inspector interface of Qt 5.11.
--- a/Preferences/ConfigurationPages/WebBrowserPage.py Wed Jul 04 19:36:49 2018 +0200 +++ b/Preferences/ConfigurationPages/WebBrowserPage.py Wed Jul 04 19:38:44 2018 +0200 @@ -14,6 +14,8 @@ from .ConfigurationPageBase import ConfigurationPageBase from .Ui_WebBrowserPage import Ui_WebBrowserPage +from Globals import qVersionTuple + import UI.PixmapCache import Preferences @@ -220,10 +222,13 @@ self.autoScrollDividerSpinBox.setValue( Preferences.getWebBrowser("AutoScrollDivider")) - self.webInspectorGroup.setChecked( - Preferences.getWebBrowser("WebInspectorEnabled")) - self.webInspectorPortSpinBox.setValue( - Preferences.getWebBrowser("WebInspectorPort")) + if qVersionTuple() < (5, 11, 0): + self.webInspectorGroup.setChecked( + Preferences.getWebBrowser("WebInspectorEnabled")) + self.webInspectorPortSpinBox.setValue( + Preferences.getWebBrowser("WebInspectorPort")) + else: + self.webInspectorGroup.setEnabled(False) def save(self): """ @@ -395,12 +400,13 @@ "AutoScrollDivider", self.autoScrollDividerSpinBox.value()) - Preferences.setWebBrowser( - "WebInspectorEnabled", - self.webInspectorGroup.isChecked()) - Preferences.setWebBrowser( - "WebInspectorPort", - self.webInspectorPortSpinBox.value()) + if qVersionTuple() < (5, 11, 0): + Preferences.setWebBrowser( + "WebInspectorEnabled", + self.webInspectorGroup.isChecked()) + Preferences.setWebBrowser( + "WebInspectorPort", + self.webInspectorPortSpinBox.value()) @pyqtSlot() def on_setCurrentPageButton_clicked(self):
--- a/WebBrowser/WebBrowserView.py Wed Jul 04 19:36:49 2018 +0200 +++ b/WebBrowser/WebBrowserView.py Wed Jul 04 19:38:44 2018 +0200 @@ -544,7 +544,8 @@ self.__menu.addSeparator() self.__menu.addAction(self.__mw.adBlockIcon().menuAction()) - if Preferences.getWebBrowser("WebInspectorEnabled"): + if qVersionTuple() >= (5, 11, 0) or \ + Preferences.getWebBrowser("WebInspectorEnabled"): self.__menu.addSeparator() self.__menu.addAction( UI.PixmapCache.getIcon("webInspector.png"),
--- a/WebBrowser/WebBrowserWindow.py Wed Jul 04 19:36:49 2018 +0200 +++ b/WebBrowser/WebBrowserWindow.py Wed Jul 04 19:38:44 2018 +0200 @@ -174,7 +174,8 @@ self.__fromEric or qthelp or bool(searchWord)) self.__initActions() else: - if Preferences.getWebBrowser("WebInspectorEnabled"): + if qVersionTuple() < (5, 11, 0) and \ + Preferences.getWebBrowser("WebInspectorEnabled"): os.environ["QTWEBENGINE_REMOTE_DEBUGGING"] = \ str(Preferences.getWebBrowser("WebInspectorPort"))
--- 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): """