Made a Qt5 related change to make the default settings values load independant of the creation of a QApplication object.

Mon, 31 Dec 2012 11:46:26 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 31 Dec 2012 11:46:26 +0100
changeset 2294
d041f6bcda5c
parent 2293
ec6c1459f5b3
child 2295
f51d70c46079

Made a Qt5 related change to make the default settings values load independant of the creation of a QApplication object.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Preferences.__init__.html file | annotate | diff | comparison | revisions
Preferences/__init__.py file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Sun Dec 30 15:47:47 2012 +0100
+++ b/APIs/Python3/eric5.api	Mon Dec 31 11:46:26 2012 +0100
@@ -5762,13 +5762,12 @@
 eric5.Preferences.Prefs.editorExporterDefaults?7
 eric5.Preferences.Prefs.editorOtherFontsDefaults?7
 eric5.Preferences.Prefs.editorTypingDefaults?7
-eric5.Preferences.Prefs.fontFamily?7
-eric5.Preferences.Prefs.fontSize?7
 eric5.Preferences.Prefs.geometryDefaults?7
 eric5.Preferences.Prefs.graphicsDefaults?7
 eric5.Preferences.Prefs.helpDefaults?7
 eric5.Preferences.Prefs.iconEditorDefaults?7
 eric5.Preferences.Prefs.iconsDefaults?7
+eric5.Preferences.Prefs.initWebSettingsDefaults?4()
 eric5.Preferences.Prefs.ircDefaults?7
 eric5.Preferences.Prefs.multiProjectDefaults?7
 eric5.Preferences.Prefs.pluginManagerDefaults?7
@@ -5790,7 +5789,7 @@
 eric5.Preferences.Prefs.varDefaults?7
 eric5.Preferences.Prefs.vcsDefaults?7
 eric5.Preferences.Prefs.viewProfilesLength?7
-eric5.Preferences.Prefs.websettings?7
+eric5.Preferences.Prefs.webSettingsIntitialized?7
 eric5.Preferences.ProgramsDialog.ProgramsDialog.on_buttonBox_clicked?4(button)
 eric5.Preferences.ProgramsDialog.ProgramsDialog.on_programsSearchButton_clicked?4()
 eric5.Preferences.ProgramsDialog.ProgramsDialog.show?4()
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sun Dec 30 15:47:47 2012 +0100
+++ b/Documentation/Help/source.qhp	Mon Dec 31 11:46:26 2012 +0100
@@ -8078,6 +8078,7 @@
       <keyword name="PreferencesLexerLanguageError" id="PreferencesLexerLanguageError" ref="eric5.Preferences.PreferencesLexer.html#PreferencesLexerLanguageError" />
       <keyword name="PreferencesLexerLanguageError (Constructor)" id="PreferencesLexerLanguageError (Constructor)" ref="eric5.Preferences.PreferencesLexer.html#PreferencesLexerLanguageError.__init__" />
       <keyword name="Prefs" id="Prefs" ref="eric5.Preferences.__init__.html#Prefs" />
+      <keyword name="Prefs.initWebSettingsDefaults" id="Prefs.initWebSettingsDefaults" ref="eric5.Preferences.__init__.html#Prefs.initWebSettingsDefaults" />
       <keyword name="Printer" id="Printer" ref="eric5.QScintilla.Printer.html#Printer" />
       <keyword name="Printer (Constructor)" id="Printer (Constructor)" ref="eric5.QScintilla.Printer.html#Printer.__init__" />
       <keyword name="Printer (Module)" id="Printer (Module)" ref="eric5.QScintilla.Printer.html" />
--- a/Documentation/Source/eric5.Preferences.__init__.html	Sun Dec 30 15:47:47 2012 +0100
+++ b/Documentation/Source/eric5.Preferences.__init__.html	Mon Dec 31 11:46:26 2012 +0100
@@ -355,11 +355,14 @@
 object
 <h3>Class Attributes</h3>
 <table>
-<tr><td>cooperationDefaults</td></tr><tr><td>corbaDefaults</td></tr><tr><td>debuggerDefaults</td></tr><tr><td>editorColourDefaults</td></tr><tr><td>editorDefaults</td></tr><tr><td>editorExporterDefaults</td></tr><tr><td>editorOtherFontsDefaults</td></tr><tr><td>editorTypingDefaults</td></tr><tr><td>fontFamily</td></tr><tr><td>fontSize</td></tr><tr><td>geometryDefaults</td></tr><tr><td>graphicsDefaults</td></tr><tr><td>helpDefaults</td></tr><tr><td>iconEditorDefaults</td></tr><tr><td>iconsDefaults</td></tr><tr><td>ircDefaults</td></tr><tr><td>multiProjectDefaults</td></tr><tr><td>pluginManagerDefaults</td></tr><tr><td>printerDefaults</td></tr><tr><td>projectBrowserColourDefaults</td></tr><tr><td>projectBrowserFlagsDefaults</td></tr><tr><td>projectDefaults</td></tr><tr><td>py3flakesDefaults</td></tr><tr><td>qtDefaults</td></tr><tr><td>resetLayout</td></tr><tr><td>shellDefaults</td></tr><tr><td>sysDefaults</td></tr><tr><td>tasksDefaults</td></tr><tr><td>templatesDefaults</td></tr><tr><td>terminalDefaults</td></tr><tr><td>trayStarterDefaults</td></tr><tr><td>uiDefaults</td></tr><tr><td>userDefaults</td></tr><tr><td>varDefaults</td></tr><tr><td>vcsDefaults</td></tr><tr><td>viewProfilesLength</td></tr><tr><td>websettings</td></tr>
+<tr><td>cooperationDefaults</td></tr><tr><td>corbaDefaults</td></tr><tr><td>debuggerDefaults</td></tr><tr><td>editorColourDefaults</td></tr><tr><td>editorDefaults</td></tr><tr><td>editorExporterDefaults</td></tr><tr><td>editorOtherFontsDefaults</td></tr><tr><td>editorTypingDefaults</td></tr><tr><td>geometryDefaults</td></tr><tr><td>graphicsDefaults</td></tr><tr><td>helpDefaults</td></tr><tr><td>iconEditorDefaults</td></tr><tr><td>iconsDefaults</td></tr><tr><td>ircDefaults</td></tr><tr><td>multiProjectDefaults</td></tr><tr><td>pluginManagerDefaults</td></tr><tr><td>printerDefaults</td></tr><tr><td>projectBrowserColourDefaults</td></tr><tr><td>projectBrowserFlagsDefaults</td></tr><tr><td>projectDefaults</td></tr><tr><td>py3flakesDefaults</td></tr><tr><td>qtDefaults</td></tr><tr><td>resetLayout</td></tr><tr><td>shellDefaults</td></tr><tr><td>sysDefaults</td></tr><tr><td>tasksDefaults</td></tr><tr><td>templatesDefaults</td></tr><tr><td>terminalDefaults</td></tr><tr><td>trayStarterDefaults</td></tr><tr><td>uiDefaults</td></tr><tr><td>userDefaults</td></tr><tr><td>varDefaults</td></tr><tr><td>vcsDefaults</td></tr><tr><td>viewProfilesLength</td></tr><tr><td>webSettingsIntitialized</td></tr>
 </table>
 <h3>Class Methods</h3>
 <table>
-<tr><td>None</td></tr>
+<tr>
+<td><a href="#Prefs.initWebSettingsDefaults">initWebSettingsDefaults</a></td>
+<td>Class method to initialize the web settings related defaults.</td>
+</tr>
 </table>
 <h3>Methods</h3>
 <table>
@@ -369,7 +372,12 @@
 <table>
 <tr><td>None</td></tr>
 </table>
-
+<a NAME="Prefs.initWebSettingsDefaults" ID="Prefs.initWebSettingsDefaults"></a>
+<h4>Prefs.initWebSettingsDefaults (class method)</h4>
+<b>initWebSettingsDefaults</b>(<i></i>)
+<p>
+        Class method to initialize the web settings related defaults.
+</p>
 <div align="right"><a href="#top">Up</a></div>
 <hr /><hr />
 <a NAME="convertPasswords" ID="convertPasswords"></a>
--- a/Preferences/__init__.py	Sun Dec 30 15:47:47 2012 +0100
+++ b/Preferences/__init__.py	Mon Dec 31 11:46:26 2012 +0100
@@ -474,10 +474,6 @@
         "AnnotationsErrorBackground": QColor("#ffd0d0"),
         "WhitespaceForeground": QColor(Qt.darkGray),
         "WhitespaceBackground": QColor(Qt.white),
-        "EditAreaForeground":
-            QApplication.palette().color(QPalette.Active, QPalette.Base),
-        "EditAreaBackground":
-            QApplication.palette().color(QPalette.Active, QPalette.Text),
         "OnlineChangeTraceMarkerUnsaved": QColor("#ff8888"),
         "OnlineChangeTraceMarkerSaved": QColor("#88ff88"),
     }
@@ -726,64 +722,72 @@
         "GreaseMonkeyDisabledScripts": [],
     }
     
-    websettings = QWebSettings.globalSettings()
-    fontFamily = websettings.fontFamily(QWebSettings.StandardFont)
-    fontSize = websettings.fontSize(QWebSettings.DefaultFontSize)
-    helpDefaults["StandardFont"] = QFont(fontFamily, fontSize).toString()
-    fontFamily = websettings.fontFamily(QWebSettings.FixedFont)
-    fontSize = websettings.fontSize(QWebSettings.DefaultFixedFontSize)
-    helpDefaults["FixedFont"] = QFont(fontFamily, fontSize).toString()
-    helpDefaults.update({
-        "AutoLoadImages":
-            websettings.testAttribute(QWebSettings.AutoLoadImages),
-        "UserStyleSheet": "",
-        "SaveUrlColor": QColor(248, 248, 210),
-        "JavaEnabled":
-            websettings.testAttribute(QWebSettings.JavaEnabled),
-        "JavaScriptEnabled":
-            websettings.testAttribute(QWebSettings.JavascriptEnabled),
-        "JavaScriptCanOpenWindows":
-            websettings.testAttribute(QWebSettings.JavascriptCanOpenWindows),
-        "JavaScriptCanAccessClipboard":
-            websettings.testAttribute(QWebSettings.JavascriptCanAccessClipboard),
-        "PluginsEnabled":
-            websettings.testAttribute(QWebSettings.PluginsEnabled),
-        "OfflineStorageDatabaseEnabled":
-            websettings.testAttribute(QWebSettings.OfflineStorageDatabaseEnabled),
-    })
-    if hasattr(QWebSettings, "OfflineWebApplicationCacheEnabled"):
-        helpDefaults.update({
-            "OfflineWebApplicationCacheEnabled":
-                websettings.testAttribute(QWebSettings.OfflineWebApplicationCacheEnabled),
-            "OfflineWebApplicationCacheQuota": 50,     # 50 MB
+    @classmethod
+    def initWebSettingsDefaults(cls):
+        """
+        Class method to initialize the web settings related defaults.
+        """
+        websettings = QWebSettings.globalSettings()
+        fontFamily = websettings.fontFamily(QWebSettings.StandardFont)
+        fontSize = websettings.fontSize(QWebSettings.DefaultFontSize)
+        cls.helpDefaults["StandardFont"] = QFont(fontFamily, fontSize).toString()
+        fontFamily = websettings.fontFamily(QWebSettings.FixedFont)
+        fontSize = websettings.fontSize(QWebSettings.DefaultFixedFontSize)
+        cls.helpDefaults["FixedFont"] = QFont(fontFamily, fontSize).toString()
+        cls.helpDefaults.update({
+            "AutoLoadImages":
+                websettings.testAttribute(QWebSettings.AutoLoadImages),
+            "UserStyleSheet": "",
+            "SaveUrlColor": QColor(248, 248, 210),
+            "JavaEnabled":
+                websettings.testAttribute(QWebSettings.JavaEnabled),
+            "JavaScriptEnabled":
+                websettings.testAttribute(QWebSettings.JavascriptEnabled),
+            "JavaScriptCanOpenWindows":
+                websettings.testAttribute(QWebSettings.JavascriptCanOpenWindows),
+            "JavaScriptCanAccessClipboard":
+                websettings.testAttribute(QWebSettings.JavascriptCanAccessClipboard),
+            "PluginsEnabled":
+                websettings.testAttribute(QWebSettings.PluginsEnabled),
+            "OfflineStorageDatabaseEnabled":
+                websettings.testAttribute(QWebSettings.OfflineStorageDatabaseEnabled),
         })
-    if hasattr(QWebSettings, "LocalStorageEnabled"):
-        helpDefaults["LocalStorageEnabled"] = \
-            websettings.testAttribute(QWebSettings.LocalStorageEnabled)
-    if hasattr(QWebSettings, "DnsPrefetchEnabled"):
-        helpDefaults["DnsPrefetchEnabled"] = \
-            websettings.testAttribute(QWebSettings.DnsPrefetchEnabled)
-    if hasattr(QWebSettings, "defaultTextEncoding"):
-        helpDefaults["DefaultTextEncoding"] = \
-            websettings.defaultTextEncoding()
-    if hasattr(QWebSettings, "SpatialNavigationEnabled"):
-        helpDefaults["SpatialNavigationEnabled"] = \
-            websettings.testAttribute(QWebSettings.SpatialNavigationEnabled)
-    if hasattr(QWebSettings, "LinksIncludedInFocusChain"):
-        helpDefaults["LinksIncludedInFocusChain"] = \
-            websettings.testAttribute(QWebSettings.LinksIncludedInFocusChain)
-    if hasattr(QWebSettings, "LocalContentCanAccessRemoteUrls"):
-        helpDefaults["LocalContentCanAccessRemoteUrls"] = \
-            websettings.testAttribute(QWebSettings.LocalContentCanAccessRemoteUrls)
-    if hasattr(QWebSettings, "LocalContentCanAccessFileUrls"):
-        helpDefaults["LocalContentCanAccessFileUrls"] = \
-            websettings.testAttribute(QWebSettings.LocalContentCanAccessFileUrls)
-    if hasattr(QWebSettings, "XSSAuditingEnabled"):
-        helpDefaults["XSSAuditingEnabled"] = \
-            websettings.testAttribute(QWebSettings.XSSAuditingEnabled)
-    if hasattr(QWebSettings, "SiteSpecificQuirksEnabled"):
-        helpDefaults["SiteSpecificQuirksEnabled"] = \
-            websettings.testAttribute(QWebSettings.SiteSpecificQuirksEnabled)
+        if hasattr(QWebSettings, "OfflineWebApplicationCacheEnabled"):
+            cls.helpDefaults.update({
+                "OfflineWebApplicationCacheEnabled":
+                    websettings.testAttribute(
+                    QWebSettings.OfflineWebApplicationCacheEnabled),
+                "OfflineWebApplicationCacheQuota": 50,     # 50 MB
+            })
+        if hasattr(QWebSettings, "LocalStorageEnabled"):
+            cls.helpDefaults["LocalStorageEnabled"] = \
+                websettings.testAttribute(QWebSettings.LocalStorageEnabled)
+        if hasattr(QWebSettings, "DnsPrefetchEnabled"):
+            cls.helpDefaults["DnsPrefetchEnabled"] = \
+                websettings.testAttribute(QWebSettings.DnsPrefetchEnabled)
+        if hasattr(QWebSettings, "defaultTextEncoding"):
+            cls.helpDefaults["DefaultTextEncoding"] = \
+                websettings.defaultTextEncoding()
+        if hasattr(QWebSettings, "SpatialNavigationEnabled"):
+            cls.helpDefaults["SpatialNavigationEnabled"] = \
+                websettings.testAttribute(QWebSettings.SpatialNavigationEnabled)
+        if hasattr(QWebSettings, "LinksIncludedInFocusChain"):
+            cls.helpDefaults["LinksIncludedInFocusChain"] = \
+                websettings.testAttribute(QWebSettings.LinksIncludedInFocusChain)
+        if hasattr(QWebSettings, "LocalContentCanAccessRemoteUrls"):
+            cls.helpDefaults["LocalContentCanAccessRemoteUrls"] = \
+                websettings.testAttribute(QWebSettings.LocalContentCanAccessRemoteUrls)
+        if hasattr(QWebSettings, "LocalContentCanAccessFileUrls"):
+            cls.helpDefaults["LocalContentCanAccessFileUrls"] = \
+                websettings.testAttribute(QWebSettings.LocalContentCanAccessFileUrls)
+        if hasattr(QWebSettings, "XSSAuditingEnabled"):
+            cls.helpDefaults["XSSAuditingEnabled"] = \
+                websettings.testAttribute(QWebSettings.XSSAuditingEnabled)
+        if hasattr(QWebSettings, "SiteSpecificQuirksEnabled"):
+            cls.helpDefaults["SiteSpecificQuirksEnabled"] = \
+                websettings.testAttribute(QWebSettings.SiteSpecificQuirksEnabled)
+    
+    webSettingsIntitialized = False
 
     # defaults for system settings
     sysDefaults = {
@@ -1585,7 +1589,13 @@
         else:
             return QColor(col)
     else:
-        return prefClass.editorColourDefaults[key]
+        # palette based defaults here because of Qt5
+        if key == "EditAreaForeground":
+            return QApplication.palette().color(QPalette.Active, QPalette.Base)
+        elif key == "EditAreaBackground":
+            return QApplication.palette().color(QPalette.Active, QPalette.Text)
+        else:
+            return prefClass.editorColourDefaults[key]
     
 
 def setEditorColour(key, value, prefClass=Prefs):
@@ -2084,6 +2094,9 @@
     @param prefClass preferences class used as the storage area
     @return the requested help setting
     """
+    if not prefClass.webSettingsIntitialized:
+        prefClass.initWebSettingsDefaults()
+    
     if key in ["StandardFont", "FixedFont"]:
         f = QFont()
         f.fromString(prefClass.settings.value("Help/" + key,

eric ide

mercurial