diff --git a/indra/newview/panel_prefs_firestorm.cpp b/indra/newview/panel_prefs_firestorm.cpp index 9898c0ed6a..6f6a767d60 100644 --- a/indra/newview/panel_prefs_firestorm.cpp +++ b/indra/newview/panel_prefs_firestorm.cpp @@ -62,6 +62,10 @@ BOOL PanelPreferenceFirestorm::postBuild() m_ClientTagsVisibility = getChild("ClientTagsVisibility"); refreshTagCombos(); + // disable the prefs for features that are disabled by the global auto env being disabled + getChild("UseEnvironmentFromRegionAlways")->setCommitCallback(boost::bind(&PanelPreferenceFirestorm::onUseEnvironmentFromRegionAlways, this)); + // init the enable state of the related wl prefs + onUseEnvironmentFromRegionAlways(); return LLPanelPreference::postBuild(); } @@ -175,6 +179,16 @@ void PanelPreferenceFirestorm::onAutoCorrectSettings() LGGAutoCorrectFloater::showFloater(); } +void PanelPreferenceFirestorm::onUseEnvironmentFromRegionAlways() +{ + const bool auto_env = gSavedSettings.getBOOL("UseEnvironmentFromRegionAlways"); + + getChild("PhoenixWLParcelEnabled")->setEnabled(auto_env); + getChild("PhoenixWLWhitelistFriends")->setEnabled(auto_env); + getChild("PhoenixWLWhitelistGroups")->setEnabled(auto_env); + getChild("PhoenixWLWhitelistAll")->setEnabled(auto_env); + getChild("PhoenixInterpolateParcelWL")->setEnabled(auto_env); +} void PanelPreferenceFirestorm::refreshTagCombos() diff --git a/indra/newview/panel_prefs_firestorm.h b/indra/newview/panel_prefs_firestorm.h index d4c41f8dff..07d28f7b60 100644 --- a/indra/newview/panel_prefs_firestorm.h +++ b/indra/newview/panel_prefs_firestorm.h @@ -20,6 +20,8 @@ public: void onBeamDelete(); void onAutoCorrectSettings(); + + void onUseEnvironmentFromRegionAlways(); void refreshTagCombos();