--- a/eric6/Preferences/__init__.py Fri Sep 27 14:49:42 2019 +0200 +++ b/eric6/Preferences/__init__.py Sat Sep 28 18:44:48 2019 +0200 @@ -363,6 +363,7 @@ "AutosaveInterval": 0, "TabWidth": 4, "IndentWidth": 4, + "TabIndentOverride": "{}", # JSON formatted dictionary "IndentationGuides": True, "LinenoMargin": True, "FoldingMargin": True, @@ -2041,6 +2042,13 @@ elif value in ["false", "False"]: value = 0 return QsciLexerPython.IndentationWarning(int(value)) + elif key == "TabIndentOverride": + overrideStr = prefClass.settings.value( + "Editor/" + key, prefClass.editorDefaults[key]) + if overrideStr: + return json.loads(overrideStr) + else: + return {} else: return toBool(prefClass.settings.value( "Editor/" + key, prefClass.editorDefaults[key])) @@ -2054,7 +2062,10 @@ @param value the value to be set @param prefClass preferences class used as the storage area """ - prefClass.settings.setValue("Editor/" + key, value) + if key == "TabIndentOverride": + prefClass.settings.setValue("Editor/" + key, json.dumps(value)) + else: + prefClass.settings.setValue("Editor/" + key, value) def getEditorColour(key, prefClass=Prefs):