WebBrowser: added support for the QWebEngineSettings.DnsPrefetchEnabled attribute as of Qt 5.12.

Wed, 16 Jan 2019 19:26:32 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 16 Jan 2019 19:26:32 +0100
changeset 6657
c6a93bbd66a5
parent 6656
273a2130adbe
child 6658
db87f3469af1

WebBrowser: added support for the QWebEngineSettings.DnsPrefetchEnabled attribute as of Qt 5.12.

Preferences/ConfigurationPages/WebBrowserPage.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/WebBrowserPage.ui file | annotate | diff | comparison | revisions
Preferences/__init__.py file | annotate | diff | comparison | revisions
WebBrowser/WebBrowserWindow.py file | annotate | diff | comparison | revisions
--- a/Preferences/ConfigurationPages/WebBrowserPage.py	Wed Jan 16 19:25:34 2019 +0100
+++ b/Preferences/ConfigurationPages/WebBrowserPage.py	Wed Jan 16 19:26:32 2019 +0100
@@ -84,6 +84,12 @@
         except KeyError:
             self.autoplayMediaCheckBox.setEnabled(False)
             self.webRtcPublicOnlyCheckBox.setEnabled(False)
+        try:
+            # Qt 5.12
+            self.dnsPrefetchCheckBox.setChecked(
+                Preferences.getWebBrowser("DnsPrefetchEnabled"))
+        except KeyError:
+            self.dnsPrefetchCheckBox.setEnabled(False)
         
         self.javaScriptGroup.setChecked(
             Preferences.getWebBrowser("JavaScriptEnabled"))
@@ -281,6 +287,11 @@
                 "WebRTCPublicInterfacesOnly",
                 self.webRtcPublicOnlyCheckBox.isChecked())
         
+        if self.dnsPrefetchCheckBox.isEnabled():
+            Preferences.setWebBrowser(
+                "DnsPrefetchEnabled",
+                self.dnsPrefetchCheckBox.isChecked())
+        
         Preferences.setWebBrowser(
             "JavaScriptEnabled",
             self.javaScriptGroup.isChecked())
--- a/Preferences/ConfigurationPages/WebBrowserPage.ui	Wed Jan 16 19:25:34 2019 +0100
+++ b/Preferences/ConfigurationPages/WebBrowserPage.ui	Wed Jan 16 19:26:32 2019 +0100
@@ -147,6 +147,16 @@
         </property>
        </widget>
       </item>
+      <item row="5" column="1">
+       <widget class="QCheckBox" name="dnsPrefetchCheckBox">
+        <property name="toolTip">
+         <string>Select to try to pre-fetch DNS entries to speed up browsing</string>
+        </property>
+        <property name="text">
+         <string>Enable DNS Prefetch</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>
@@ -1220,6 +1230,7 @@
   <tabstop>webGLCheckBox</tabstop>
   <tabstop>autoplayMediaCheckBox</tabstop>
   <tabstop>webRtcPublicOnlyCheckBox</tabstop>
+  <tabstop>dnsPrefetchCheckBox</tabstop>
   <tabstop>startupCombo</tabstop>
   <tabstop>newTabCombo</tabstop>
   <tabstop>homePageEdit</tabstop>
--- a/Preferences/__init__.py	Wed Jan 16 19:25:34 2019 +0100
+++ b/Preferences/__init__.py	Wed Jan 16 19:26:32 2019 +0100
@@ -1319,6 +1319,15 @@
             })
         except AttributeError:
             pass
+        try:
+            # Qt 5.12+
+            cls.webBrowserDefaults.update({
+                "DnsPrefetchEnabled":
+                    webEngineSettings.testAttribute(
+                        QWebEngineSettings.DnsPrefetchEnabled),
+            })
+        except AttributeError:
+            pass
         
         cls.webEngineSettingsIntitialized = True
     
--- a/WebBrowser/WebBrowserWindow.py	Wed Jan 16 19:25:34 2019 +0100
+++ b/WebBrowser/WebBrowserWindow.py	Wed Jan 16 19:26:32 2019 +0100
@@ -675,6 +675,15 @@
                     "WebRTCPublicInterfacesOnly"))
         except (AttributeError, KeyError):
             pass
+        
+        try:
+            # Qt 5.12
+            settings.setAttribute(
+                QWebEngineSettings.DnsPrefetchEnabled,
+                Preferences.getWebBrowser(
+                    "DnsPrefetchEnabled"))
+        except (AttributeError, KeyError):
+            pass
     
     def __initActions(self):
         """

eric ide

mercurial