[Gui] Fix AxisLetterColor on opening Preferences and correct LightSources parameter group

Also remove workaround as stated in the comments just before 1.1.0 Release.

(cherry picked from commit 2be7bbf141)
This commit is contained in:
Syres916
2025-12-01 18:01:53 +01:00
committed by Max Wilfinger
parent 2b5213863b
commit 135bd360f0
3 changed files with 13 additions and 34 deletions
@@ -220,7 +220,7 @@ void DlgSettingsLightSources::configureViewer()
{
const SbVec3f defaultViewDirection {0.0f, 1.0f, 0.3f};
View3DSettings(hGrp, view).applySettings();
View3DSettings(hGrpView, view).applySettings();
view->setRedirectToSceneGraph(true);
view->setViewing(true);
@@ -82,6 +82,9 @@ private:
ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath(
"User parameter:BaseApp/Preferences/View/LightSources"
);
ParameterGrp::handle hGrpView = App::GetApplication().GetParameterGroupByPath(
"User parameter:BaseApp/Preferences/View"
);
float zoomStep = 3.0f;
};
+9 -33
View File
@@ -95,6 +95,15 @@ void View3DSettings::applySettings()
OnChange(*hGrp, "UseVBO");
OnChange(*hGrp, "RenderCache");
OnChange(*hGrp, "Orthographic");
OnChange(*hGrp, "NavigationStyle");
OnChange(*hGrp, "OrbitStyle");
OnChange(*hGrp, "Sensitivity");
OnChange(*hGrp, "ResetCursorPosition");
OnChange(*hGrp, "DimensionsVisible");
OnChange(*hGrp, "Dimensions3dVisible");
OnChange(*hGrp, "DimensionsDeltaVisible");
OnChange(*hGrp, "PickRadius");
OnChange(*hGrp, "TransparentObjectRenderType");
auto lightSourcesGrp = hGrp->GetGroup("LightSources");
OnChange(*lightSourcesGrp, "EnableHeadlight");
@@ -111,39 +120,6 @@ void View3DSettings::applySettings()
OnChange(*lightSourcesGrp, "FillLightIntensity");
OnChange(*lightSourcesGrp, "AmbientLightColor");
OnChange(*lightSourcesGrp, "AmbientLightIntensity");
// Workaround
// Clear old settings that was used for a while in 1.1dev
// By clearing these settings, 1.0 will be able to run with same config file again
// For more info: https://github.com/FreeCAD/FreeCAD/issues/19880
// TODO: Remove when 1.1.0 is about to be released
if (hGrp->GetASCII("FillLightDirection").empty()) {
hGrp->RemoveBool("EnableHeadlight");
hGrp->RemoveUnsigned("HeadlightColor");
hGrp->RemoveASCII("HeadlightDirection");
hGrp->RemoveInt("HeadlightIntensity");
hGrp->RemoveBool("EnableBacklight");
hGrp->RemoveUnsigned("BacklightColor");
hGrp->RemoveASCII("BacklightDirection");
hGrp->RemoveInt("BacklightIntensity");
hGrp->RemoveBool("EnableFillLight");
hGrp->RemoveUnsigned("FillLightColor");
hGrp->RemoveASCII("FillLightDirection");
hGrp->RemoveInt("FillLightIntensity");
hGrp->RemoveUnsigned("AmbientLightColor");
hGrp->RemoveInt("AmbientLightIntensity");
}
// End of workaround
OnChange(*hGrp, "NavigationStyle");
OnChange(*hGrp, "OrbitStyle");
OnChange(*hGrp, "Sensitivity");
OnChange(*hGrp, "ResetCursorPosition");
OnChange(*hGrp, "DimensionsVisible");
OnChange(*hGrp, "Dimensions3dVisible");
OnChange(*hGrp, "DimensionsDeltaVisible");
OnChange(*hGrp, "PickRadius");
OnChange(*hGrp, "TransparentObjectRenderType");
}
void View3DSettings::OnChange(ParameterGrp::SubjectType& rCaller, ParameterGrp::MessageType Reason)