src/eric7/Preferences/ThemeManager.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
diff -r e9e7eca7efee -r bf71ee032bb4 src/eric7/Preferences/ThemeManager.py
--- a/src/eric7/Preferences/ThemeManager.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/Preferences/ThemeManager.py	Wed Jul 13 14:55:47 2022 +0200
@@ -25,6 +25,7 @@
     """
     Class implementing a manager object for color themes.
     """
+
     ColorKeyPatternList = [
         "Diff/.*Color",
         "Editor/Colour/",
@@ -46,20 +47,20 @@
         "UI/NotificationWarningBackground",
         "UI/NotificationWarningForeground",
     ]
-    
+
     def __init__(self: "ThemeManager", parent: QObject = None):
         """
         Constructor
-        
+
         @param parent reference to the parent object (defaults to None)
         @type QObject (optional)
         """
         super().__init__(parent)
-    
+
     def importTheme(self: "ThemeManager") -> bool:
         """
         Public method to import a theme file and set the colors.
-        
+
         @return flag indicating a successful import
         @rtype bool
         """
@@ -67,7 +68,7 @@
             None,
             self.tr("Import Theme"),
             getConfig("ericThemesDir"),
-            self.tr("eric Theme Files (*.ethj);;All Files (*)")
+            self.tr("eric Theme Files (*.ethj);;All Files (*)"),
         )
         if filename:
             try:
@@ -81,27 +82,29 @@
                     self.tr(
                         "<p>The theme file <b>{0}</b> could not"
                         " be read.</p><p>Reason: {1}</p>"
-                    ).format(filename, str(err))
+                    ).format(filename, str(err)),
                 )
                 return False
-            
+
             # step 1: process stylesheet data
             stylesheetDict = themeDict["stylesheet"]
             if stylesheetDict["name"]:
-                stylesheetsDir = os.path.join(
-                    Globals.getConfigDir(), "stylesheets")
+                stylesheetsDir = os.path.join(Globals.getConfigDir(), "stylesheets")
                 if not os.path.exists(stylesheetsDir):
                     os.makedirs(stylesheetsDir)
-                stylesheetFile = os.path.join(
-                    stylesheetsDir, stylesheetDict["name"])
-                ok = EricMessageBox.yesNo(
-                    None,
-                    self.tr("Import Theme"),
-                    self.tr(
-                        "The stylesheet file {0} exists already."
-                        " Shall it be overwritten?"
-                    ).format(stylesheetDict["name"])
-                ) if os.path.exists(stylesheetFile) else True
+                stylesheetFile = os.path.join(stylesheetsDir, stylesheetDict["name"])
+                ok = (
+                    EricMessageBox.yesNo(
+                        None,
+                        self.tr("Import Theme"),
+                        self.tr(
+                            "The stylesheet file {0} exists already."
+                            " Shall it be overwritten?"
+                        ).format(stylesheetDict["name"]),
+                    )
+                    if os.path.exists(stylesheetFile)
+                    else True
+                )
                 if ok:
                     try:
                         with open(stylesheetFile, "w") as f:
@@ -113,22 +116,22 @@
                             self.tr(
                                 "<p>The stylesheet file <b>{0}</b> could"
                                 " not be written.</p><p>Reason: {1}</p>"
-                            ).format(stylesheetFile, str(err))
+                            ).format(stylesheetFile, str(err)),
                         )
                         stylesheetFile = ""
                 Preferences.setUI("StyleSheet", stylesheetFile)
-            
+
             # step 2: transfer the color entries
             settings = Preferences.getSettings()
             colorsDict = themeDict["colors"]
             for key, value in colorsDict.items():
                 settings.setValue(key, value)
-            
+
             Preferences.syncPreferences()
             return True
-        
+
         return False
-    
+
     def exportTheme(self: "ThemeManager"):
         """
         Public method to export the current colors to a theme file.
@@ -139,45 +142,44 @@
             os.path.expanduser("~"),
             self.tr("eric Theme Files (*.ethj)"),
             "",
-            EricFileDialog.DontConfirmOverwrite
+            EricFileDialog.DontConfirmOverwrite,
         )
         if filename:
             ext = os.path.splitext(filename)[1]
             if not ext:
                 filename = "{0}{1}".format(
-                    filename,
-                    selectedFilter.rsplit(None, 1)[-1][2:-1])
-            
+                    filename, selectedFilter.rsplit(None, 1)[-1][2:-1]
+                )
+
             ok = (
                 EricMessageBox.yesNo(
                     None,
                     self.tr("Export Theme"),
                     self.tr(
                         """<p>The theme file <b>{0}</b> exists"""
-                        """ already. Overwrite it?</p>""").format(filename))
-                if os.path.exists(filename) else
-                True
+                        """ already. Overwrite it?</p>"""
+                    ).format(filename),
+                )
+                if os.path.exists(filename)
+                else True
             )
-            
+
             if ok:
                 # step 1: generate a dictionary with all color settings
                 settings = Preferences.getSettings()
-                colorKeyFilterRe = re.compile("|".join(
-                    ThemeManager.ColorKeyPatternList +
-                    ThemeManager.ColorKeyList
-                ))
-                
-                keys = [k for k in settings.allKeys()
-                        if colorKeyFilterRe.match(k)]
+                colorKeyFilterRe = re.compile(
+                    "|".join(
+                        ThemeManager.ColorKeyPatternList + ThemeManager.ColorKeyList
+                    )
+                )
+
+                keys = [k for k in settings.allKeys() if colorKeyFilterRe.match(k)]
                 colorsDict = {}
                 for key in keys:
                     colorsDict[key] = settings.value(key)
-                
+
                 # step 2: read the contents of the current stylesheet
-                stylesheetDict = {
-                    "contents": "",
-                    "name": ""
-                }
+                stylesheetDict = {"contents": "", "name": ""}
                 stylesheet = Preferences.getUI("StyleSheet")
                 if stylesheet and os.path.exists(stylesheet):
                     try:
@@ -191,14 +193,14 @@
                             self.tr(
                                 "<p>The stylesheet file <b>{0}</b> could not"
                                 " be read.</p><p>Reason: {1}</p>"
-                            ).format(stylesheet, str(err))
+                            ).format(stylesheet, str(err)),
                         )
-                
+
                 themeDict = {
                     "colors": colorsDict,
                     "stylesheet": stylesheetDict,
                 }
-                
+
                 try:
                     jsonString = json.dumps(themeDict, indent=2)
                     with open(filename, "w") as f:
@@ -210,5 +212,5 @@
                         self.tr(
                             "<p>The theme file <b>{0}</b> could not"
                             " be written.</p><p>Reason: {1}</p>"
-                        ).format(filename, str(err))
+                        ).format(filename, str(err)),
                     )

eric ide

mercurial