src/eric7/Preferences/__init__.py

branch
eric7
changeset 10806
2f6df822e3b9
parent 10746
b8fae72eb04d
child 10832
479cf39ac9cb
--- a/src/eric7/Preferences/__init__.py	Sun Jun 30 15:37:49 2024 +0200
+++ b/src/eric7/Preferences/__init__.py	Sun Jun 30 17:58:31 2024 +0200
@@ -47,8 +47,9 @@
 except ImportError:
     QWebEngineSettings = None
 
-from eric7 import Globals
+from eric7 import EricUtilities, Globals
 from eric7.EricNetwork.EricFtp import EricFtpProxyType
+from eric7.EricUtilities import toBool, toByteArray, toDict, toList  # noqa
 from eric7.EricWidgets import EricFileDialog
 from eric7.EricWidgets.EricApplication import ericApp
 from eric7.EricWidgets.EricIconBar import EricIconBar
@@ -1959,7 +1960,7 @@
     @return flag indicating the configured status
     @rtype bool
     """
-    return toBool(Prefs.settings.value("General/Configured", False))
+    return EricUtilities.toBool(Prefs.settings.value("General/Configured", False))
 
 
 def setConfigured():
@@ -2047,13 +2048,13 @@
         "NetworkPortIncrement",
         "PythonCallTraceOptimization",
     ):
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("Debugger/" + key, Prefs.debuggerDefaults[key])
         )
     elif key in ("PassiveDbgPort", "MaxVariableSize", "RecentNumber", "NetworkPort"):
         return int(Prefs.settings.value("Debugger/" + key, Prefs.debuggerDefaults[key]))
     elif key in ["AllowedHosts"]:
-        return toList(
+        return EricUtilities.toList(
             Prefs.settings.value("Debugger/" + key, Prefs.debuggerDefaults[key])
         )
     elif key in ["PythonInterpreter", "Python3Interpreter"]:
@@ -2139,7 +2140,9 @@
     ):
         return QColor(Prefs.settings.value("Python/" + key, Prefs.pythonDefaults[key]))
     elif key in ("DisViewerExpandCodeInfoDetails"):
-        return toBool(Prefs.settings.value("Python/" + key, Prefs.pythonDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("Python/" + key, Prefs.pythonDefaults[key])
+        )
     else:
         return Prefs.settings.value("Python/" + key, Prefs.pythonDefaults[key])
 
@@ -2263,7 +2266,9 @@
         "CombinedLeftRightSidebar",
         "LoadUnknownMimeTypeFiles",
     ]:
-        return toBool(Prefs.settings.value("UI/" + key, Prefs.uiDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("UI/" + key, Prefs.uiDefaults[key])
+        )
     elif key in [
         "TabViewManagerFilenameLength",
         "CaptionFilenameLength",
@@ -2336,7 +2341,9 @@
         "TextMimeTypes",
         "TextFilePatterns",
     ]:
-        return toList(Prefs.settings.value("UI/" + key, Prefs.uiDefaults[key]))
+        return EricUtilities.toList(
+            Prefs.settings.value("UI/" + key, Prefs.uiDefaults[key])
+        )
     else:
         return Prefs.settings.value("UI/" + key, Prefs.uiDefaults[key])
 
@@ -2390,9 +2397,13 @@
     @rtype Any
     """
     if key in ("Path",):
-        return toList(Prefs.settings.value("UI/Icons/" + key, Prefs.iconsDefaults[key]))
+        return EricUtilities.toList(
+            Prefs.settings.value("UI/Icons/" + key, Prefs.iconsDefaults[key])
+        )
     elif key in ("PreferVectorIcons",):
-        return toBool(Prefs.settings.value("UI/Icons/" + key, Prefs.iconsDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("UI/Icons/" + key, Prefs.iconsDefaults[key])
+        )
     else:
         return Prefs.settings.value("UI/Icons/" + key, Prefs.iconsDefaults[key])
 
@@ -2419,7 +2430,7 @@
     @rtype Any
     """
     if key in ["AutoStartServer", "TryOtherPorts", "AutoAcceptConnections"]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("Cooperation/" + key, Prefs.cooperationDefaults[key])
         )
     elif key in ["ServerPort", "MaxPortsToTry"]:
@@ -2427,7 +2438,7 @@
             Prefs.settings.value("Cooperation/" + key, Prefs.cooperationDefaults[key])
         )
     elif key in ["BannedUsers"]:
-        return toList(
+        return EricUtilities.toList(
             Prefs.settings.value("Cooperation/" + key, Prefs.cooperationDefaults[key])
         )
     else:
@@ -2525,7 +2536,9 @@
         "PreviewQssFileNameExtensions",
         "FullSpellCheckExtensions",
     ]:
-        return toList(Prefs.settings.value("Editor/" + key, Prefs.editorDefaults[key]))
+        return EricUtilities.toList(
+            Prefs.settings.value("Editor/" + key, Prefs.editorDefaults[key])
+        )
     elif key == "TabIndentOverride":
         overrideStr = Prefs.settings.value("Editor/" + key, Prefs.editorDefaults[key])
         if overrideStr:
@@ -2537,7 +2550,9 @@
             int(Prefs.settings.value("Editor/" + key, Prefs.editorDefaults[key]))
         )
     else:
-        return toBool(Prefs.settings.value("Editor/" + key, Prefs.editorDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("Editor/" + key, Prefs.editorDefaults[key])
+        )
 
 
 def setEditor(key, value):
@@ -2777,7 +2792,7 @@
     @return the requested editor setting
     @rtype Any
     """
-    return toBool(
+    return EricUtilities.toBool(
         Prefs.settings.value("Editor/Typing/" + key, Prefs.editorTypingDefaults[key])
     )
 
@@ -2825,7 +2840,7 @@
         "ODT/OnlyStylesUsed",
         "ODT/UseTabs",
     ]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value(
                 "Editor/Exporters/" + key, Prefs.editorExporterDefaults[key]
             )
@@ -2873,7 +2888,7 @@
     @rtype Any
     """
     if key in ["ColorMode", "FirstPageFirst"]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("Printer/" + key, Prefs.printerDefaults[key])
         )
     elif key in ["Magnification", "Orientation", "PageSize", "Resolution"]:
@@ -2925,7 +2940,9 @@
     elif key in ["LastVirtualEnvironment"]:
         return Prefs.settings.value("Shell/" + key, Prefs.shellDefaults[key])
     else:
-        return toBool(Prefs.settings.value("Shell/" + key, Prefs.shellDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("Shell/" + key, Prefs.shellDefaults[key])
+        )
 
 
 def setShell(key, value):
@@ -2957,11 +2974,11 @@
     if key in ["RecentNumber"]:
         return int(Prefs.settings.value("Project/" + key, Prefs.projectDefaults[key]))
     elif key in ["DebugClientsHistory", "DebuggerInterpreterHistory"]:
-        return toList(
+        return EricUtilities.toList(
             Prefs.settings.value("Project/" + key, Prefs.projectDefaults[key])
         )
     else:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("Project/" + key, Prefs.projectDefaults[key])
         )
 
@@ -2999,7 +3016,9 @@
     except KeyError:
         default = list(Prefs.projectBrowsersDefaults["allBrowsers"][:])
 
-    return toList(Prefs.settings.value("Project/BrowsersEnabled/" + key, default))
+    return EricUtilities.toList(
+        Prefs.settings.value("Project/BrowsersEnabled/" + key, default)
+    )
 
 
 def setProjectBrowsers(key, value):
@@ -3078,7 +3097,7 @@
             Prefs.settings.value("MultiProject/" + key, Prefs.multiProjectDefaults[key])
         )
     elif key in ["OpenMainAutomatically", "TimestampFile"]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("MultiProject/" + key, Prefs.multiProjectDefaults[key])
         )
     else:
@@ -3131,7 +3150,9 @@
     if key in ("HelpViewerType",):
         return int(Prefs.settings.value("Help/" + key, Prefs.helpDefaults[key]))
     elif key in ("QtHelpSearchNewOnStart", "ForceQTextBrowser"):
-        return toBool(Prefs.settings.value("Help/" + key, Prefs.helpDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("Help/" + key, Prefs.helpDefaults[key])
+        )
     else:
         return Prefs.settings.value("Help/" + key, Prefs.helpDefaults[key])
 
@@ -3200,7 +3221,7 @@
             if download["URL"] is None:
                 download["URL"] = QUrl()
             download["Location"] = Prefs.settings.value("Location")
-            download["Done"] = toBool(Prefs.settings.value("Done"))
+            download["Done"] = EricUtilities.toBool(Prefs.settings.value("Done"))
             download["PageURL"] = Prefs.settings.value("PageURL")
             if download["PageURL"] is None:
                 download["PageURL"] = QUrl()
@@ -3331,7 +3352,7 @@
         "ReadingFromCanvasEnabled",
         "ForceDarkMode",
     ]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("WebBrowser/" + key, Prefs.webBrowserDefaults[key])
         )
     elif key in [
@@ -3341,7 +3362,7 @@
         "AdBlockExceptions",
         "SpellCheckLanguages",
     ]:
-        return toList(
+        return EricUtilities.toList(
             Prefs.settings.value("WebBrowser/" + key, Prefs.webBrowserDefaults[key])
         )
     elif key in ["AutoScrollDivider"]:
@@ -3493,7 +3514,9 @@
         "PySide2FromImports",
         "PySide6FromImports",
     ]:
-        return toBool(Prefs.settings.value("Qt/" + key, Prefs.qtDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("Qt/" + key, Prefs.qtDefaults[key])
+        )
     else:
         return Prefs.settings.value("Qt/" + key, Prefs.qtDefaults[key])
 
@@ -3535,12 +3558,14 @@
         "SavePasswords",
         "UseGoogleMailOAuth2",
     ]:
-        return toBool(Prefs.settings.value("User/" + key, Prefs.userDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("User/" + key, Prefs.userDefaults[key])
+        )
     elif key == "MailServerEncryption":
         # convert from old key 'MailServerUseTLS'
         val = Prefs.settings.value("User/" + key)
         if val is None:
-            if toBool(Prefs.settings.value("User/MailServerUseTLS")):
+            if EricUtilities.toBool(Prefs.settings.value("User/MailServerUseTLS")):
                 val = "TLS"
             else:
                 val = Prefs.userDefaults[key]
@@ -3578,7 +3603,9 @@
     if key in ["StatusMonitorInterval", "CommitMessages"]:
         return int(Prefs.settings.value("VCS/" + key, Prefs.vcsDefaults[key]))
     else:
-        return toBool(Prefs.settings.value("VCS/" + key, Prefs.vcsDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("VCS/" + key, Prefs.vcsDefaults[key])
+        )
 
 
 def setVCS(key, value):
@@ -3618,7 +3645,9 @@
     elif key in [
         "ClearOnFileClose",
     ]:
-        return toBool(Prefs.settings.value("Tasks/" + key, Prefs.tasksDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("Tasks/" + key, Prefs.tasksDefaults[key])
+        )
     else:
         return Prefs.settings.value("Tasks/" + key, Prefs.tasksDefaults[key])
 
@@ -3663,7 +3692,7 @@
         )
         return f
     else:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("Templates/" + key, Prefs.templatesDefaults[key])
         )
 
@@ -3703,13 +3732,13 @@
             )
         )
     elif key in ["HiddenPlugins"]:
-        return toList(
+        return EricUtilities.toList(
             Prefs.settings.value(
                 "PluginManager/" + key, Prefs.pluginManagerDefaults[key]
             )
         )
     else:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value(
                 "PluginManager/" + key, Prefs.pluginManagerDefaults[key]
             )
@@ -3799,11 +3828,11 @@
     @rtype Any
     """
     if key in ("IncludeInSyntaxCheck", "IgnoreStarImportWarnings"):
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("Py3Flakes/" + key, Prefs.pyflakesDefaults[key])
         )
     elif key in ("AdditionalBuiltins",):
-        return toList(
+        return EricUtilities.toList(
             Prefs.settings.value("Py3Flakes/" + key, Prefs.pyflakesDefaults[key])
         )
     else:
@@ -3867,7 +3896,9 @@
         "MarkPositionWhenHidden",
         "AskOnShutdown",
     ]:
-        return toBool(Prefs.settings.value("IRC/" + key, Prefs.ircDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("IRC/" + key, Prefs.ircDefaults[key])
+        )
     elif key in ["AutoUserInfoMax", "AutoUserInfoInterval"]:
         return int(Prefs.settings.value("IRC/" + key, Prefs.ircDefaults[key]))
     else:
@@ -3906,7 +3937,7 @@
         "OpenReadOnly",
         "HighlightChanges",
     ]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("HexEditor/" + key, Prefs.hexEditorDefaults[key])
         )
     elif key in ["Font"]:
@@ -3977,7 +4008,7 @@
     @rtype Any
     """
     if key in ["ShowInfoOnOpenParenthesis"]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value(
                 "CodeDocumentationViewer/" + key, Prefs.docuViewerDefaults[key]
             )
@@ -4038,7 +4069,9 @@
         "ExcludeCondaEnvironments",
         "VulnerabilityCheckEnabled",
     ):
-        return toBool(Prefs.settings.value("Pip/" + key, Prefs.pipDefaults[key]))
+        return EricUtilities.toBool(
+            Prefs.settings.value("Pip/" + key, Prefs.pipDefaults[key])
+        )
     elif key in ("VulnerabilityDbCacheValidity",):
         return int(Prefs.settings.value("Pip/" + key, Prefs.pipDefaults[key]))
     else:
@@ -4085,7 +4118,7 @@
         "EnableManualDeviceSelection",
         "NtpDaylight",
     ]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("MicroPython/" + key, Prefs.microPythonDefaults[key])
         )
     elif key in (
@@ -4149,7 +4182,7 @@
         "JediCalltipsEnabled",
         "MouseClickEnabled",
     ]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("AssistantJedi/" + key, Prefs.jediDefaults[key])
         )
     else:
@@ -4186,7 +4219,7 @@
         "PdfViewerOpenRecentInNewWindow",
         "PdfSearchHighlightAll",
     ):
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("PdfViewer/" + key, Prefs.pdfViewerDefaults[key])
         )
     elif key in ("PdfViewerZoomFactor",):
@@ -4231,7 +4264,7 @@
             Prefs.settings.value(f"{prefix}{key}", Prefs.ericServerDefaults[key])
         )
     elif key in ("AutostartShell",):
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value(f"{prefix}{key}", Prefs.ericServerDefaults[key])
         )
     elif key in ("ConnectionProfiles",):
@@ -4271,7 +4304,7 @@
     @rtype Any
     """
     if key in ["MainMaximized"]:
-        return toBool(
+        return EricUtilities.toBool(
             Prefs.settings.value("Geometry/" + key, Prefs.geometryDefaults[key])
         )
     else:
@@ -4327,70 +4360,6 @@
             Prefs.settings.setValue("Geometry/" + key, Prefs.geometryDefaults[key])
 
 
-def toBool(value):
-    """
-    Module function to convert a value to bool.
-
-    @param value value to be converted
-    @type Any
-    @return converted data
-    @rtype bool
-    """
-    if value in ["true", "1", "True"]:
-        return True
-    elif value in ["false", "0", "False"]:
-        return False
-    else:
-        return bool(value)
-
-
-def toList(value):
-    """
-    Module function to convert a value to a list.
-
-    @param value value to be converted
-    @type list, None or Any
-    @return converted data
-    @rtype list
-    """
-    if value is None:
-        return []
-    elif not isinstance(value, list):
-        return [value]
-    else:
-        return value
-
-
-def toByteArray(value):
-    """
-    Module function to convert a value to a byte array.
-
-    @param value value to be converted
-    @type QByteArray or None
-    @return converted data
-    @rtype QByteArray
-    """
-    if value is None:
-        return QByteArray()
-    else:
-        return value
-
-
-def toDict(value):
-    """
-    Module function to convert a value to a dictionary.
-
-    @param value value to be converted
-    @type dict or None
-    @return converted data
-    @rtype dict
-    """
-    if value is None:
-        return {}
-    else:
-        return value
-
-
 def convertPasswords(oldPassword, newPassword):
     """
     Module function to convert all passwords.

eric ide

mercurial