From 38041641582cde6fcf59d7b3cef041d2cc51ca97 Mon Sep 17 00:00:00 2001 From: forbes Date: Sat, 14 Feb 2026 19:16:29 -0600 Subject: [PATCH] fix(prefs): apply KindredCreate defaults after Reset All (#229) When "Reset All" is used in Preferences, restoreDefaults() clears the entire User parameter tree via ParameterManager::Clear(). Widgets then fall back to upstream FreeCAD hardcoded defaults (e.g. light theme, default units) instead of Kindred Create defaults. After clearing, apply the KindredCreate preference pack to restore Create-specific baseline settings (Catppuccin Mocha theme, toolbar layout, unit preferences, etc.). --- src/Gui/Dialogs/DlgPreferencesImp.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Gui/Dialogs/DlgPreferencesImp.cpp b/src/Gui/Dialogs/DlgPreferencesImp.cpp index 8a2ae44905..a7a0a3e70b 100644 --- a/src/Gui/Dialogs/DlgPreferencesImp.cpp +++ b/src/Gui/Dialogs/DlgPreferencesImp.cpp @@ -66,8 +66,10 @@ #include "Dialogs/DlgPreferencesImp.h" #include "ui_DlgPreferences.h" +#include "Application.h" #include "BitmapFactory.h" #include "MainWindow.h" +#include "PreferencePackManager.h" #include "Tools.h" #include "WidgetFactory.h" @@ -834,6 +836,12 @@ void DlgPreferencesImp::restoreDefaults() .GetParameterGroupByPath("User parameter:BaseApp/Preferences/General") ->SetBool("SaveUserParameter", saveParameter); + // Re-apply Kindred Create defaults so we don't revert to upstream FreeCAD defaults + auto* packMgr = Gui::Application::Instance->prefPackManager(); + if (packMgr) { + packMgr->apply("KindredCreate"); + } + reject(); } } -- 2.49.1