eric7/Preferences/ThemeManager.py

Thu, 09 Dec 2021 20:07:08 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 09 Dec 2021 20:07:08 +0100
branch
eric7
changeset 8819
982fb074be98
parent 8817
92214d84beef
child 8820
149f941d072e
permissions
-rw-r--r--

Continued implementing a manager for color themes.

8817
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a manager object for color themes.
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8819
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
10 import json
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
11 import os
8817
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import re
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt6.QtCore import QObject
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
8819
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
16 from EricWidgets import EricMessageBox, EricFileDialog
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
17
8817
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 import Preferences
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 class ThemeManager(QObject):
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Class implementing a manager object for color themes.
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 KeyPatternList = [
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 "Diff/.*Color",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 "Editor/Colour/",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 "IRC/.*Colou?r",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 "Project/Colour",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 "Scintilla/.*color",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 "Scintilla/.*paper",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 "WebBrowser/.*Colou?r",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 ]
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 KeyList = [
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 "Debugger/BgColorChanged",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 "Debugger/BgColorNew",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 "UI/IconBarColor",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 "UI/LogStdErrColour",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 "UI/NotificationCriticalBackground",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 "UI/NotificationCriticalForeground",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 "UI/NotificationWarningBackground",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 "UI/NotificationWarningForeground",
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 ]
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
8819
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
45 def __init__(self: "ThemeManager", parent: QObject = None):
8817
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 """
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 Constructor
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 @param parent reference to the parent object (defaults to None)
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 @type QObject (optional)
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 """
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 super().__init__(parent)
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53
8819
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
54 def importTheme(self: "ThemeManager"):
8817
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 Public method to import a theme file and set the colors.
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 # TODO: not yet implemented
8819
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
59
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
60 # TODO: add entry for the current QSS file
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
61 # - on import save it in the eric configuration directory
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
62 # if such file does not exist already
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
63 # - on import set stylesheet key to the saved file
8817
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
8819
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
65 def exportTheme(self: "ThemeManager"):
8817
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 """
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 Public method to export the current colors to a theme file.
92214d84beef Started implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 """
8819
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
69 filename, selectedFilter = EricFileDialog.getSaveFileNameAndFilter(
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
70 None,
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
71 self.tr("Export Theme"),
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
72 os.path.expanduser("~"),
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
73 self.tr("eric Theme Files (*.ethj);;All Files (*)"),
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
74 "",
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
75 EricFileDialog.DontConfirmOverwrite
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
76 )
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
77 if filename:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
78 ext = os.path.splitext(filename)[1]
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
79 if not ext:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
80 filename = "{0}{1}".format(
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
81 filename,
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
82 selectedFilter.rsplit(None, 1)[-1][2:-1])
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
83
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
84 ok = (
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
85 EricMessageBox.yesNo(
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
86 None,
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
87 self.tr("Export Theme"),
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
88 self.tr(
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
89 """<p>The theme file <b>{0}</b> exists"""
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
90 """ already. Overwrite it?</p>""").format(filename))
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
91 if os.path.exists(filename) else
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
92 True
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
93 )
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
94
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
95 if ok:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
96 # step 1: generate a dictionary with all color settings
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
97 settings = Preferences.getSettings()
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
98 keyFilterRe = re.compile("|".join(
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
99 ThemeManager.KeyPatternList + ThemeManager.KeyList))
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
100
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
101 keys = [k for k in settings.allKeys() if keyFilterRe.match(k)]
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
102 colorsDict = {}
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
103 for key in keys:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
104 colorsDict[key] = settings.value(key)
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
105
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
106 # step 2: read the contents of the current stylesheet
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
107 stylesheetDict = {
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
108 "contents": "",
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
109 "name": ""
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
110 }
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
111 stylesheet = Preferences.getUI("StyleSheet")
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
112 if stylesheet and os.path.exists(stylesheet):
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
113 try:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
114 with open(stylesheet, "r") as f:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
115 stylesheetDict["contents"] = f.read()
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
116 stylesheetDict["name"] = os.path.basename(stylesheet)
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
117 except OSError as err:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
118 EricMessageBox.critical(
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
119 None,
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
120 self.tr("Export Theme"),
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
121 self.tr(
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
122 "<p>The styleshhet file <b>{0}</b> could not"
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
123 " be read.</p><p>Reason: {1}</p>"
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
124 ).format(stylesheet, str(err))
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
125 )
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
126
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
127 themeDict = {
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
128 "colors": colorsDict,
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
129 "stylesheet": stylesheetDict,
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
130 }
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
131
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
132 try:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
133 jsonString = json.dumps(themeDict, indent=2)
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
134 with open(filename, "w") as f:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
135 f.write(jsonString)
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
136 except (TypeError, OSError) as err:
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
137 EricMessageBox.critical(
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
138 None,
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
139 self.tr("Export Theme"),
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
140 self.tr(
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
141 "<p>The theme file <b>{0}</b> could not"
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
142 " be written.</p><p>Reason: {1}</p>"
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
143 ).format(filename, str(err))
982fb074be98 Continued implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8817
diff changeset
144 )

eric ide

mercurial