From 2995e6aeb762991fbb04647b010f0a897e51daae Mon Sep 17 00:00:00 2001
From: Syres916 <46537884+Syres916@users.noreply.github.com>
Date: Tue, 30 Jul 2024 12:23:53 +0100
Subject: [PATCH] [Gui] Ensure FreeCAD Classic theme is properly reset...
... but doesn't click Done and so when Preferences>General is opened the Theme displayed in the combobox is always FreeCAD Classic
---
.../FreeCAD Classic/FreeCAD Classic.cfg | 124 +----------
.../FreeCAD Classic/post.FCMacro | 205 ++++++++++++++++++
.../FreeCAD Dark/FreeCAD Dark.cfg | 1 +
.../FreeCAD Light/FreeCAD Light.cfg | 1 +
4 files changed, 208 insertions(+), 123 deletions(-)
diff --git a/src/Gui/PreferencePacks/FreeCAD Classic/FreeCAD Classic.cfg b/src/Gui/PreferencePacks/FreeCAD Classic/FreeCAD Classic.cfg
index c14c75e26f..dce316a6d7 100644
--- a/src/Gui/PreferencePacks/FreeCAD Classic/FreeCAD Classic.cfg
+++ b/src/Gui/PreferencePacks/FreeCAD Classic/FreeCAD Classic.cfg
@@ -1,6 +1,5 @@
-
@@ -8,133 +7,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #feff9e
- #000000
- #000000
- #000000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ FreeCAD Classic
Light Theme + Dark Background.qss
-
diff --git a/src/Gui/PreferencePacks/FreeCAD Classic/post.FCMacro b/src/Gui/PreferencePacks/FreeCAD Classic/post.FCMacro
index b74390d66d..37b1e1b4aa 100644
--- a/src/Gui/PreferencePacks/FreeCAD Classic/post.FCMacro
+++ b/src/Gui/PreferencePacks/FreeCAD Classic/post.FCMacro
@@ -6,3 +6,208 @@ editorPrefs.RemInt("Text")
appPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/General")
appPrefs.RemString("QtStyle")
+
+# Need to remove any of the most common color settings created by other themes
+
+themesPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Themes")
+themesPrefs.RemUnsigned("ThemeAccentColor1")
+themesPrefs.RemUnsigned("ThemeAccentColor2")
+themesPrefs.RemUnsigned("ThemeAccentColor3")
+
+archPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch")
+archPrefs.RemUnsigned("WallColor")
+archPrefs.RemUnsigned("StructureColor")
+archPrefs.RemUnsigned("RebarColor")
+archPrefs.RemUnsigned("WindowColor")
+archPrefs.RemUnsigned("WindowGlassColor")
+archPrefs.RemUnsigned("PanelColor")
+archPrefs.RemUnsigned("ColorHelpers")
+archPrefs.RemUnsigned("defaultSpaceColor")
+
+draftPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")
+draftPrefs.RemUnsigned("constructioncolor")
+draftPrefs.RemUnsigned("gridColor")
+draftPrefs.RemUnsigned("snapcolor")
+draftPrefs.RemUnsigned("color")
+draftPrefs.RemUnsigned("DefaultAnnoLineColor")
+
+techdrawDecPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/TechDraw/Decorations")
+techdrawDecPrefs.RemUnsigned("SectionColor")
+techdrawDecPrefs.RemUnsigned("CenterColor")
+techdrawDecPrefs.RemUnsigned("VertexColor")
+techdrawDecPrefs.RemUnsigned("HighlightColor")
+
+techdrawColorPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/TechDraw/Colors")
+techdrawColorPrefs.RemUnsigned("Background")
+techdrawColorPrefs.RemUnsigned("PreSelectColor")
+techdrawColorPrefs.RemUnsigned("HiddenColor")
+techdrawColorPrefs.RemUnsigned("SelectColor")
+techdrawColorPrefs.RemUnsigned("NormalColor")
+techdrawColorPrefs.RemUnsigned("CutSurfaceColor")
+techdrawColorPrefs.RemUnsigned("FaceColor")
+techdrawColorPrefs.RemUnsigned("gridColor")
+techdrawColorPrefs.RemUnsigned("PageColor")
+techdrawColorPrefs.RemUnsigned("LightTextColor")
+techdrawColorPrefs.RemUnsigned("TemplateUnderlineColor")
+
+techdrawDimsPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/TechDraw/Dimensions")
+techdrawDimsPrefs.RemUnsigned("Color")
+
+techdrawMarkupsPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/TechDraw/Markups")
+techdrawMarkupsPrefs.RemUnsigned("Color")
+
+pathPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Path")
+pathPrefs.RemUnsigned("DefaultNormalPathColor")
+pathPrefs.RemUnsigned("DefaultRapidPathColor")
+pathPrefs.RemUnsigned("DefaultPathMarkerColor")
+pathPrefs.RemUnsigned("DefaultProbePathColor")
+pathPrefs.RemUnsigned("DefaultHighlightPathColor")
+pathPrefs.RemUnsigned("DefaultBBoxSelectionColor")
+pathPrefs.RemUnsigned("DefaultBBoxNormalColor")
+
+camPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/CAM")
+camPrefs.RemUnsigned("DefaultNormalPathColor")
+camPrefs.RemUnsigned("DefaultRapidPathColor")
+camPrefs.RemUnsigned("DefaultPathMarkerColor")
+camPrefs.RemUnsigned("DefaultProbePathColor")
+camPrefs.RemUnsigned("DefaultHighlightPathColor")
+camPrefs.RemUnsigned("DefaultBBoxSelectionColor")
+camPrefs.RemUnsigned("DefaultBBoxNormalColor")
+
+partPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Part")
+partPrefs.RemUnsigned("Dimensions3dColor")
+partPrefs.RemUnsigned("DimensionsAngularColor")
+partPrefs.RemUnsigned("DimensionsDeltaColor")
+partPrefs.RemFloat("MeshAngularDeflection")
+
+measurePrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Measure/Appearance")
+measurePrefs.RemBool("DefaultMirror")
+measurePrefs.RemFloat("DefaultDistFactor")
+measurePrefs.RemInt("DefaultFontSize")
+measurePrefs.RemUnsigned("DefaultTextColor")
+measurePrefs.RemUnsigned("DefaultLineColor")
+measurePrefs.RemUnsigned("DefaultTextBackgroundColor")
+
+meshPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Mesh")
+meshPrefs.RemUnsigned("MeshColor")
+meshPrefs.RemUnsigned("LineColor")
+meshPrefs.RemUnsigned("BackfaceColor")
+
+sketcherGenPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Sketcher/General")
+sketcherGenPrefs.RemUnsigned("GridLineColor")
+
+sketcherViewPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Sketcher/View")
+sketcherViewPrefs.RemInt("EdgeWidth")
+sketcherViewPrefs.RemInt("ConstructionWidth")
+sketcherViewPrefs.RemInt("InternalWidth")
+sketcherViewPrefs.RemInt("ExternalWidth")
+sketcherViewPrefs.RemInt("EdgePattern")
+sketcherViewPrefs.RemInt("ConstructionPattern")
+sketcherViewPrefs.RemInt("InternalPattern")
+sketcherViewPrefs.RemInt("ExternalPattern")
+sketcherViewPrefs.RemUnsigned("BoundingBoxColor")
+
+sketcherPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Sketcher")
+sketcherPrefs.RemBool("AutoRemoveRedundants")
+
+pdPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/PartDesign")
+pdPrefs.RemBool("RefineModel")
+
+spreadsheetPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Spreadsheet")
+spreadsheetPrefs.RemString("AliasedCellBackgroundColor")
+spreadsheetPrefs.RemString("TextColor")
+spreadsheetPrefs.RemString("PositiveNumberColor")
+spreadsheetPrefs.RemString("NegativeNumberColor")
+
+viewPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/View")
+viewPrefs.RemUnsigned("SketchEdgeColor")
+viewPrefs.RemUnsigned("SketchVertexColor")
+viewPrefs.RemUnsigned("EditedEdgeColor")
+viewPrefs.RemUnsigned("EditedVertexColor")
+viewPrefs.RemUnsigned("ConstructionColor")
+viewPrefs.RemUnsigned("ExternalColor")
+viewPrefs.RemUnsigned("InvalidSketchColor")
+viewPrefs.RemUnsigned("FullyConstrainedColor")
+viewPrefs.RemUnsigned("InternalAlignedGeoColor")
+viewPrefs.RemUnsigned("FullyConstraintElementColor")
+viewPrefs.RemUnsigned("FullyConstraintConstructionElementColor")
+viewPrefs.RemUnsigned("FullyConstraintInternalAlignmentColor")
+viewPrefs.RemUnsigned("FullyConstraintConstructionPointColor")
+viewPrefs.RemUnsigned("ConstrainedIcoColor")
+viewPrefs.RemUnsigned("NonDrivingConstrDimColor")
+viewPrefs.RemUnsigned("ConstrainedDimColor")
+viewPrefs.RemUnsigned("ExprBasedConstrDimColor")
+viewPrefs.RemUnsigned("DeactivatedConstrDimColor")
+viewPrefs.RemUnsigned("CursorTextColor")
+viewPrefs.RemUnsigned("CursorCrosshairColor")
+viewPrefs.RemUnsigned("CreateLineColor")
+viewPrefs.RemUnsigned("AnnotationTextColor")
+viewPrefs.RemBool("UseBackgroundColorMid")
+viewPrefs.RemUnsigned("BackgroundColor")
+viewPrefs.RemUnsigned("BackgroundColor2")
+viewPrefs.RemUnsigned("BackgroundColor3")
+viewPrefs.RemUnsigned("BackgroundColor4")
+viewPrefs.RemUnsigned("BacklightColor")
+viewPrefs.RemUnsigned("BoundingBoxColor")
+viewPrefs.RemUnsigned("DefaultShapeColor")
+viewPrefs.RemUnsigned("HighlightColor")
+viewPrefs.RemUnsigned("SelectionColor")
+viewPrefs.RemUnsigned("CbLabelColor")
+viewPrefs.RemUnsigned("DefaultShapeLineColor")
+viewPrefs.RemUnsigned("DefaultShapeVertexColor")
+viewPrefs.RemUnsigned("HeadlightColor")
+viewPrefs.RemUnsigned("ShadowLightColor")
+viewPrefs.RemUnsigned("ShadowGroundColor")
+viewPrefs.RemUnsigned("HiddenLineFaceColor")
+viewPrefs.RemUnsigned("HiddenLineBackground")
+viewPrefs.RemBool("EnablePreselection")
+viewPrefs.RemBool("EnableSelection")
+viewPrefs.RemInt("AntiAliasing")
+viewPrefs.RemInt("TransparentObjectRenderType")
+viewPrefs.RemInt("MarkerSize")
+viewPrefs.RemBool("CornerCoordSystem")
+viewPrefs.RemBool("UseVBO")
+viewPrefs.RemBool("EnableBacklight")
+viewPrefs.RemBool("Simple")
+viewPrefs.RemBool("Gradient")
+viewPrefs.RemBool("RadialGradient")
+viewPrefs.RemInt("DefaultShapePointSize")
+viewPrefs.RemBool("CanAbortRecompute")
+viewPrefs.RemInt("SegmentsPerGeometry")
+viewPrefs.RemFloat("PickRadius")
+viewPrefs.RemFloat("ViewScalingFactor")
+
+outputWinPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/OutputWindow")
+outputWinPrefs.RemUnsigned("colorText")
+outputWinPrefs.RemUnsigned("colorLogging")
+outputWinPrefs.RemUnsigned("colorWarning")
+outputWinPrefs.RemUnsigned("colorError")
+outputWinPrefs.RemBool("checkShowReportViewOnError")
+
+editorPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Editor")
+editorPrefs.RemUnsigned("Text")
+editorPrefs.RemUnsigned("Bookmark")
+editorPrefs.RemUnsigned("Breakpoint")
+editorPrefs.RemUnsigned("Keyword")
+editorPrefs.RemUnsigned("Comment")
+editorPrefs.RemUnsigned("Block comment")
+editorPrefs.RemUnsigned("Number")
+editorPrefs.RemUnsigned("String")
+editorPrefs.RemUnsigned("Character")
+editorPrefs.RemUnsigned("Class name")
+editorPrefs.RemUnsigned("Define name")
+editorPrefs.RemUnsigned("Operator")
+editorPrefs.RemUnsigned("Python output")
+editorPrefs.RemUnsigned("Python error")
+editorPrefs.RemUnsigned("Current line highlight")
+
+treeviewPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/TreeView")
+treeviewPrefs.RemUnsigned("TreeEditColor")
+treeviewPrefs.RemUnsigned("TreeActiveColor")
+treeviewPrefs.RemBool("PreSelection")
+
+navcubePrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/NaviCube")
+navcubePrefs.RemUnsigned("BaseColor")
+
+mwPrefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/MainWindow")
+mwPrefs.RemString("StyleSheet")
diff --git a/src/Gui/PreferencePacks/FreeCAD Dark/FreeCAD Dark.cfg b/src/Gui/PreferencePacks/FreeCAD Dark/FreeCAD Dark.cfg
index f1a9024b8a..8f1dbc99d4 100644
--- a/src/Gui/PreferencePacks/FreeCAD Dark/FreeCAD Dark.cfg
+++ b/src/Gui/PreferencePacks/FreeCAD Dark/FreeCAD Dark.cfg
@@ -177,6 +177,7 @@
+ FreeCAD Dark
FreeCAD Dark.qss
Dark Theme + Dark Background.qss
diff --git a/src/Gui/PreferencePacks/FreeCAD Light/FreeCAD Light.cfg b/src/Gui/PreferencePacks/FreeCAD Light/FreeCAD Light.cfg
index 85a3338a6d..29e1a8830f 100644
--- a/src/Gui/PreferencePacks/FreeCAD Light/FreeCAD Light.cfg
+++ b/src/Gui/PreferencePacks/FreeCAD Light/FreeCAD Light.cfg
@@ -207,6 +207,7 @@
+ FreeCAD Light
FreeCAD Light.qss
Light Theme + Light Background.qss