--- a/eric7/Preferences/__init__.py Mon May 17 19:58:15 2021 +0200 +++ b/eric7/Preferences/__init__.py Tue May 18 18:19:47 2021 +0200 @@ -146,7 +146,7 @@ "ShowIrc": True, # right side "ShowMicroPython": True, # right side "ShowNumbersViewer": True, # bottom side - "ViewProfiles2": { + "ViewProfiles": { "edit": [ # saved state main window with toolbox windows (0) QByteArray(), @@ -155,10 +155,9 @@ [True, True, True], # saved states of the splitters and sidebars of the # sidebars layout (2) - # left splitter, vertical splitter, left sidebar, - # bottom sidebar, right splitter, right sidebar - [QByteArray(), QByteArray(), QByteArray(), - QByteArray(), QByteArray(), QByteArray()], + # left splitter, vertical splitter, right splitter, + # left sidebar, bottom sidebar, right sidebar + [QByteArray(), QByteArray(), QByteArray(), "", "", ""], ], "debug": [ # saved state main window with toolbox windows (0) @@ -168,10 +167,9 @@ [False, True, True], # saved states of the splitters and sidebars of the # sidebars layout (2) - # left splitter, vertical splitter, left sidebar, - # bottom sidebar, right splitter, right sidebar - [QByteArray(), QByteArray(), QByteArray(), - QByteArray(), QByteArray(), QByteArray()], + # left splitter, vertical splitter, right splitter, + # left sidebar, bottom sidebar, right sidebar + [QByteArray(), QByteArray(), QByteArray(), "", "", ""], ], }, "ToolbarManagerState": QByteArray(), @@ -369,7 +367,7 @@ "IndentationGuides": True, "LinenoMargin": True, "FoldingMargin": True, - "FoldingStyle": QsciScintilla.FoldStyle.PlainFoldStyle, + "FoldingStyle": QsciScintilla.FoldStyle.PlainFoldStyle.value, "TabForIndentation": False, "TabIndents": True, "ConvertTabsOnLoad": False, @@ -1638,7 +1636,7 @@ "Preferences", "Properties File (*.ini);;All Files (*)"), None, - E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) + E5FileDialog.DontConfirmOverwrite) if filename: ext = QFileInfo(filename).suffix() if not ext: @@ -1945,11 +1943,11 @@ return QColor(col) else: return prefClass.uiDefaults[key] - elif key in "ViewProfiles2": - profilesStr = prefClass.settings.value("UI/ViewProfiles2") + elif key in "ViewProfiles": + profilesStr = prefClass.settings.value("UI/ViewProfiles") if profilesStr is None: # use the defaults - viewProfiles = prefClass.uiDefaults["ViewProfiles2"] + viewProfiles = prefClass.uiDefaults["ViewProfiles"] else: viewProfiles = {} profiles = json.loads(profilesStr) @@ -1959,9 +1957,11 @@ profiles[name][1][:], [] ] - for bs in profiles[name][2]: + for bs in profiles[name][2][:3]: + # splitters viewProfiles[name][2].append( QByteArray.fromBase64(bs.encode("utf-8"))) + viewProfiles[name][2] += profiles[name][2][3:] # side bars return viewProfiles elif key in ["ToolbarManagerState", "PreviewSplitterState"]: state = prefClass.settings.value("UI/" + key) @@ -1992,7 +1992,7 @@ @param value the value to be set @param prefClass preferences class used as the storage area """ - if key == "ViewProfiles2": + if key == "ViewProfiles": profiles = {} for name in ["edit", "debug"]: profiles[name] = [ @@ -2000,8 +2000,10 @@ value[name][1][:], [] ] - for ba in value[name][2]: + for ba in value[name][2][:3]: + # Splitters profiles[name][2].append(bytes(ba.toBase64()).decode()) + profiles[name][2] += value[name][2][3:] # side bars prefClass.settings.setValue("UI/" + key, json.dumps(profiles)) elif key in ("LogStdErrColour",): prefClass.settings.setValue("UI/" + key, value.name()) @@ -2092,9 +2094,12 @@ """ if key in ["DefaultEncoding", "DefaultOpenFilter", "DefaultSaveFilter", "SpellCheckingDefaultLanguage", "SpellCheckingPersonalWordList", - "SpellCheckingPersonalExcludeList", + "SpellCheckingPersonalExcludeList", "DocstringType", "PreviewMarkdownHTMLFormat", "PreviewRestDocutilsHTMLFormat", - "DocstringType"]: + "WrapLongLinesMode", "WrapVisualFlag", "WrapIndentMode", + "CallTipsStyle", "CallTipsPosition", "AutoCompletionSource", + "EdgeMode", "EOLMode", "PythonBadIndentation"]: + # no special treatment for str and PyQt6 Enum return prefClass.settings.value( "Editor/" + key, prefClass.editorDefaults[key]) elif key in ["AutosaveInterval", "TabWidth", "IndentWidth", @@ -2110,39 +2115,9 @@ "OnlineSyntaxCheckInterval", "OnlineChangeTraceInterval", "WrapStartIndent", "VirtualSpaceOptions", "PreviewRefreshWaitTimer", "SourceOutlineWidth", - "SourceOutlineStepSize"]: + "SourceOutlineStepSize", "FoldingStyle"]: return int(prefClass.settings.value( "Editor/" + key, prefClass.editorDefaults[key])) - elif key == "WrapLongLinesMode": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) - elif key == "WrapVisualFlag": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) - elif key == "WrapIndentMode": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) - elif key == "EdgeMode": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) - elif key == "CallTipsStyle": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) - elif key == "AutoCompletionSource": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) - elif key == "PythonBadIndentation": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) - elif key == "EOLMode": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) - elif key == "CallTipsPosition": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) - elif key == "FoldingStyle": - return prefClass.settings.value( - "Editor/" + key, prefClass.editorDefaults[key]) elif key in ["AdditionalOpenFilters", "AdditionalSaveFilters", "PreviewMarkdownFileNameExtensions", "PreviewRestFileNameExtensions", @@ -2173,13 +2148,7 @@ """ if key == "TabIndentOverride": prefClass.settings.setValue("Editor/" + key, json.dumps(value)) -## elif key in ("WrapLongLinesMode", "WrapVisualFlag", "WrapIndentMode", -## "EdgeMode", "CallTipsStyle", "AutoCompletionSource", -## "PythonBadIndentation", "EOLMode", "CallTipsPosition", -## "FoldingStyle"): -## # value is an enum.Enum derived item -## prefClass.settings.setValue("Editor/" + key, value.value) -## else: + else: prefClass.settings.setValue("Editor/" + key, value)