secondlife/viewer#1475: Fix Terrain tab controls no longer disabled when insufficient permissions

master
Cosmic Linden 2024-06-12 15:33:45 -07:00
parent 162c87a0a8
commit 8861264d8d
4 changed files with 16 additions and 8 deletions

View File

@ -591,12 +591,20 @@ void LLView::deleteAllChildren()
updateBoundingRect();
}
void LLView::setAllChildrenEnabled(bool b)
void LLView::setAllChildrenEnabled(bool b, bool recursive /*= false*/)
{
for (LLView* viewp : mChildList)
{
viewp->setEnabled(b);
}
if (recursive)
{
for (LLView* viewp : mChildList)
{
viewp->setAllChildrenEnabled(b, recursive);
}
}
}
// virtual

View File

@ -287,7 +287,7 @@ public:
// children, etc.
virtual void deleteAllChildren();
void setAllChildrenEnabled(bool b);
void setAllChildrenEnabled(bool b, bool recursive = false);
virtual void setVisible(bool visible);
void setVisibleDirect(bool visible) { mVisible = visible; }

View File

@ -356,7 +356,7 @@ void LLFloaterRegionInfo::requestRegionInfo()
{
tab->getChild<LLPanel>("General")->setCtrlsEnabled(false);
tab->getChild<LLPanel>("Debug")->setCtrlsEnabled(false);
tab->getChild<LLPanel>("Terrain")->setCtrlsEnabled(false);
tab->getChild<LLPanel>("Terrain")->setAllChildrenEnabled(false, true);
tab->getChild<LLPanel>("Estate")->setCtrlsEnabled(false);
tab->getChild<LLPanel>("Access")->setCtrlsEnabled(false);
}
@ -553,7 +553,7 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg)
panel->getChild<LLUICtrl>("terrain_raise_spin")->setValue(region_info.mTerrainRaiseLimit);
panel->getChild<LLUICtrl>("terrain_lower_spin")->setValue(region_info.mTerrainLowerLimit);
panel->setCtrlsEnabled(allow_modify);
panel->setAllChildrenEnabled(allow_modify, true);
if (floater->getVisible())
{
@ -668,7 +668,7 @@ void LLFloaterRegionInfo::disableTabCtrls()
tab->getChild<LLPanel>("General")->setCtrlsEnabled(false);
tab->getChild<LLPanel>("Debug")->setCtrlsEnabled(false);
tab->getChild<LLPanel>("Terrain")->setCtrlsEnabled(false);
tab->getChild<LLPanel>("Terrain")->setAllChildrenEnabled(false, true);
tab->getChild<LLPanel>("panel_env_info")->setCtrlsEnabled(false);
tab->getChild<LLPanel>("Estate")->setCtrlsEnabled(false);
tab->getChild<LLPanel>("Access")->setCtrlsEnabled(false);
@ -1657,7 +1657,7 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)
|| (region && (region->getOwner() == gAgent.getID()));
bool owner_or_god_or_manager = owner_or_god
|| (region && region->isEstateManager());
setCtrlsEnabled(owner_or_god_or_manager);
setAllChildrenEnabled(owner_or_god_or_manager, true);
getChildView("apply_btn")->setEnabled(false);

View File

@ -2495,11 +2495,11 @@ void LLViewerRegion::setSimulatorFeatures(const LLSD& sim_features)
if (features.has("PBRTerrainTransformsEnabled"))
{
bool enabled = features["PBRTerrainTransformsEnabled"];
gSavedSettings.setBOOL("RenderTerrainTransformsPBREnabled", enabled);
gSavedSettings.setBOOL("RenderTerrainPBRTransformsEnabled", enabled);
}
else
{
gSavedSettings.setBOOL("RenderTerrainTransformsPBREnabled", false);
gSavedSettings.setBOOL("RenderTerrainPBRTransformsEnabled", false);
}
};