Started adjusting the new web browser to the extended functionality of Qt 5.7.

Tue, 12 Jul 2016 14:40:23 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 12 Jul 2016 14:40:23 +0200
changeset 5031
e4dbcb22d912
parent 5030
b728bb00886e
child 5032
0b060e23930f

Started adjusting the new web browser to the extended functionality of Qt 5.7.

Preferences/ConfigurationPages/WebBrowserAppearancePage.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/WebBrowserAppearancePage.ui file | annotate | diff | comparison | revisions
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/WebBrowserAppearancePage.py	Tue Jul 12 12:48:11 2016 +0200
+++ b/Preferences/ConfigurationPages/WebBrowserAppearancePage.py	Tue Jul 12 14:40:23 2016 +0200
@@ -72,6 +72,14 @@
         self.fantasyFontCombo.setCurrentFont(
             QFont(Preferences.getWebBrowser("FantasyFontFamily"),
                   defaultFontSize, QFont.Normal, False))
+        try:
+            # Qt 5.7+
+            self.pictographFontCombo.setCurrentFont(
+                QFont(Preferences.getWebBrowser("PictographFontFamily"),
+                      defaultFontSize, QFont.Normal, False))
+        except KeyError:
+            self.pictographFontLabel.setEnabled(False)
+            self.pictographFontCombo.setEnabled(False)
         
         self.initColour("SaveUrlColor", self.secureURLsColourButton,
                         Preferences.getWebBrowser)
@@ -128,6 +136,10 @@
         Preferences.setWebBrowser(
             "FantasyFontFamily",
             self.fantasyFontCombo.currentFont().family())
+        if self.pictographFontCombo.isEnabled():
+            Preferences.setWebBrowser(
+                "PictographFontFamily",
+                self.pictographFontCombo.currentFont().family())
         
         Preferences.setWebBrowser(
             "DefaultFontSize",
--- a/Preferences/ConfigurationPages/WebBrowserAppearancePage.ui	Tue Jul 12 12:48:11 2016 +0200
+++ b/Preferences/ConfigurationPages/WebBrowserAppearancePage.ui	Tue Jul 12 14:40:23 2016 +0200
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>499</width>
-    <height>805</height>
+    <height>894</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_3">
@@ -36,7 +36,7 @@
      <property name="title">
       <string>Fonts</string>
      </property>
-     <layout class="QGridLayout" name="gridLayout_3">
+     <layout class="QGridLayout" name="gridLayout">
       <item row="0" column="0">
        <widget class="QLabel" name="label_2">
         <property name="text">
@@ -160,6 +160,26 @@
         </property>
        </widget>
       </item>
+      <item row="6" column="0">
+       <widget class="QLabel" name="pictographFontLabel">
+        <property name="text">
+         <string>Pictograph Font:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="6" column="1">
+       <widget class="QFontComboBox" name="pictographFontCombo">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="toolTip">
+         <string>Select the pictograph font</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>
@@ -399,6 +419,17 @@
   </customwidget>
  </customwidgets>
  <tabstops>
+  <tabstop>standardFontCombo</tabstop>
+  <tabstop>fixedFontCombo</tabstop>
+  <tabstop>serifFontCombo</tabstop>
+  <tabstop>sansSerifFontCombo</tabstop>
+  <tabstop>cursiveFontCombo</tabstop>
+  <tabstop>fantasyFontCombo</tabstop>
+  <tabstop>pictographFontCombo</tabstop>
+  <tabstop>defaultSizeSpinBox</tabstop>
+  <tabstop>fixedSizeSpinBox</tabstop>
+  <tabstop>minSizeSpinBox</tabstop>
+  <tabstop>minLogicalSizeSpinBox</tabstop>
   <tabstop>secureURLsColourButton</tabstop>
   <tabstop>autoLoadImagesCheckBox</tabstop>
   <tabstop>styleSheetPicker</tabstop>
--- a/Preferences/ConfigurationPages/WebBrowserPage.py	Tue Jul 12 12:48:11 2016 +0200
+++ b/Preferences/ConfigurationPages/WebBrowserPage.py	Tue Jul 12 14:40:23 2016 +0200
@@ -63,6 +63,15 @@
             Preferences.getWebBrowser("ScrollAnimatorEnabled"))
         self.fullscreenCheckBox.setChecked(
             Preferences.getWebBrowser("FullScreenSupportEnabled"))
+        try:
+            # Qt 5.7+
+            self.screenCaptureCheckBox.setChecked(
+                Preferences.getWebBrowser("ScreenCaptureEnabled"))
+            self.webGLCheckBox.setChecked(
+                Preferences.getWebBrowser("WebGLEnabled"))
+        except KeyError:
+            self.screenCaptureCheckBox.setEnabled(False)
+            self.webGLCheckBox.setEnabled(False)
         
         self.jsOpenWindowsCheckBox.setChecked(
             Preferences.getWebBrowser("JavaScriptCanOpenWindows"))
@@ -183,6 +192,14 @@
             "FullScreenSupportEnabled",
             self.fullscreenCheckBox.isChecked())
         
+        if self.screenCaptureCheckBox.isEnabled():
+            Preferences.setWebBrowser(
+                "ScreenCaptureEnabled",
+                self.screenCaptureCheckBox.isChecked())
+            Preferences.setWebBrowser(
+                "WebGLEnabled",
+                self.webGLCheckBox.isChecked())
+        
         Preferences.setWebBrowser(
             "JavaScriptCanOpenWindows",
             self.jsOpenWindowsCheckBox.isChecked())
--- a/Preferences/ConfigurationPages/WebBrowserPage.ui	Tue Jul 12 12:48:11 2016 +0200
+++ b/Preferences/ConfigurationPages/WebBrowserPage.ui	Tue Jul 12 14:40:23 2016 +0200
@@ -107,6 +107,26 @@
         </property>
        </widget>
       </item>
+      <item row="3" column="1">
+       <widget class="QCheckBox" name="screenCaptureCheckBox">
+        <property name="toolTip">
+         <string>Select to enable screen capture support</string>
+        </property>
+        <property name="text">
+         <string>Enable Screen Capture Support</string>
+        </property>
+       </widget>
+      </item>
+      <item row="4" column="0">
+       <widget class="QCheckBox" name="webGLCheckBox">
+        <property name="toolTip">
+         <string>Select to enable support for WebGL</string>
+        </property>
+        <property name="text">
+         <string>Enable WebGL support</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>
--- a/Preferences/__init__.py	Tue Jul 12 12:48:11 2016 +0200
+++ b/Preferences/__init__.py	Tue Jul 12 14:40:23 2016 +0200
@@ -1150,6 +1150,19 @@
             "FullScreenSupportEnabled": webEngineSettings.testAttribute(
                 QWebEngineSettings.FullScreenSupportEnabled),
         })
+        try:
+            # Qt 5.7+
+            cls.webBrowserDefaults.update({
+                "PictographFontFamily": webEngineSettings.fontFamily(
+                    QWebEngineSettings.PictographFont),
+                
+                "ScreenCaptureEnabled": webEngineSettings.testAttribute(
+                    QWebEngineSettings.ScreenCaptureEnabled),
+                "WebGLEnabled": webEngineSettings.testAttribute(
+                    QWebEngineSettings.WebGLEnabled),
+            })
+        except AttributeError:
+            pass
         
         cls.webEngineSettingsIntitialized = True
     
@@ -2814,7 +2827,8 @@
                  "DoNotTrack", "SendReferer", "FilterTrackingCookies",
                  "AdBlockEnabled", "AdBlockUseLimitedEasyList",
                  "PluginsEnabled", "FullScreenSupportEnabled",
-                 "AutoScrollEnabled",
+                 "AutoScrollEnabled", "ScreenCaptureEnabled",
+                 "WebGLEnabled",
                  ]:
         return toBool(prefClass.settings.value(
             "WebBrowser/" + key, prefClass.webBrowserDefaults[key]))
--- a/WebBrowser/WebBrowserWindow.py	Tue Jul 12 12:48:11 2016 +0200
+++ b/WebBrowser/WebBrowserWindow.py	Tue Jul 12 14:40:23 2016 +0200
@@ -508,6 +508,17 @@
         settings.setAttribute(
             QWebEngineSettings.FullScreenSupportEnabled,
             Preferences.getWebBrowser("FullScreenSupportEnabled"))
+        
+        try:
+            # Qt 5.7
+            settings.setAttribute(
+                QWebEngineSettings.ScreenCaptureEnabled,
+                Preferences.getWebBrowser("ScreenCaptureEnabled"))
+            settings.setAttribute(
+                QWebEngineSettings.WebGLEnabled,
+                Preferences.getWebBrowser("WebGLEnabled"))
+        except (AttributeError, KeyError):
+            pass
     
     def __initActions(self):
         """
@@ -3229,9 +3240,12 @@
             if favicons:
                 self.__clearIconsDatabase()
             if cache:
-                cachePath = self.webProfile().cachePath()
-                if cachePath:
-                    shutil.rmtree(cachePath)
+                try:
+                    self.webProfile().clearHttpCache()
+                except AttributeError:
+                    cachePath = self.webProfile().cachePath()
+                    if cachePath:
+                        shutil.rmtree(cachePath)
             if cookies:
                 self.cookieJar().clear()
                 self.webProfile().cookieStore().deleteAllCookies()

eric ide

mercurial