diff options
author | Vadim ProductEngine <vsavchuk@productengine.com> | 2011-06-07 19:02:52 +0300 |
---|---|---|
committer | Vadim ProductEngine <vsavchuk@productengine.com> | 2011-06-07 19:02:52 +0300 |
commit | f69912267aa73e158d34b75797410dd6b4694084 (patch) | |
tree | 669ce31c1309946c897f5de35918f6dffe2de749 /indra/newview/llfloatereditsky.cpp | |
parent | f39b7cffc6d75a231d00c5bb17e450f21fe36ae0 (diff) |
STORM-1255 WIP Re-check for region skies editing permission when region info gets updated.
Diffstat (limited to 'indra/newview/llfloatereditsky.cpp')
-rw-r--r-- | indra/newview/llfloatereditsky.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/indra/newview/llfloatereditsky.cpp b/indra/newview/llfloatereditsky.cpp index a35b7cb003..538d6cfa39 100644 --- a/indra/newview/llfloatereditsky.cpp +++ b/indra/newview/llfloatereditsky.cpp @@ -39,6 +39,7 @@ // newview #include "llagent.h" +#include "llregioninfomodel.h" #include "llviewerregion.h" #undef max @@ -121,6 +122,9 @@ void LLFloaterEditSky::initCallbacks(void) LLEnvManagerNew::instance().setRegionSettingsChangeCallback(boost::bind(&LLFloaterEditSky::onRegionSettingsChange, this)); LLWLParamManager::instance().setPresetListChangeCallback(boost::bind(&LLFloaterEditSky::onSkyPresetListChange, this)); + // Connect to region info updates. + LLRegionInfoModel::instance().setUpdateCallback(boost::bind(&LLFloaterEditSky::onRegionInfoUpdate, this)); + //------------------------------------------------------------------------- LLWLParamManager& param_mgr = LLWLParamManager::instance(); @@ -949,3 +953,17 @@ void LLFloaterEditSky::onRegionSettingsChange() refreshSkyPresetsList(); } } + +void LLFloaterEditSky::onRegionInfoUpdate() +{ + bool can_edit = true; + + // If we've selected the region day cycle for editing. + if (getSelectedSkyPreset().scope == LLEnvKey::SCOPE_REGION) + { + // check whether we have the access + can_edit = LLEnvManagerNew::canEditRegionSettings(); + } + + enableEditing(can_edit); +} |