fix(prefs): apply KindredCreate defaults after Reset All (#229)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Some checks failed
Build and Test / build (pull_request) Has been cancelled
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.).
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user