MAINT-6400 Make the region "Object Bonus" setting safer
parent
5048402da8
commit
87ca1fc3d9
|
|
@ -412,6 +412,11 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg)
|
|||
panel->getChild<LLUICtrl>("object_bonus_spin")->setValue(LLSD(object_bonus_factor) );
|
||||
panel->getChild<LLUICtrl>("access_combo")->setValue(LLSD(sim_access) );
|
||||
|
||||
LLPanelRegionGeneralInfo* panel_general = LLFloaterRegionInfo::getPanelGeneral();
|
||||
if (panel)
|
||||
{
|
||||
panel_general->setObjBonusFactor(object_bonus_factor);
|
||||
}
|
||||
|
||||
// detect teen grid for maturity
|
||||
|
||||
|
|
@ -464,6 +469,16 @@ LLPanelEstateCovenant* LLFloaterRegionInfo::getPanelCovenant()
|
|||
return panel;
|
||||
}
|
||||
|
||||
// static
|
||||
LLPanelRegionGeneralInfo* LLFloaterRegionInfo::getPanelGeneral()
|
||||
{
|
||||
LLFloaterRegionInfo* floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info");
|
||||
if (!floater) return NULL;
|
||||
LLTabContainer* tab = floater->getChild<LLTabContainer>("region_panels");
|
||||
LLPanelRegionGeneralInfo* panel = (LLPanelRegionGeneralInfo*)tab->getChild<LLPanel>("General");
|
||||
return panel;
|
||||
}
|
||||
|
||||
// static
|
||||
LLPanelRegionTerrainInfo* LLFloaterRegionInfo::getPanelRegionTerrain()
|
||||
{
|
||||
|
|
@ -717,7 +732,42 @@ BOOL LLPanelRegionGeneralInfo::postBuild()
|
|||
childSetAction("im_btn", onClickMessage, this);
|
||||
// childSetAction("manage_telehub_btn", onClickManageTelehub, this);
|
||||
|
||||
return LLPanelRegionInfo::postBuild();
|
||||
LLUICtrl* apply_btn = findChild<LLUICtrl>("apply_btn");
|
||||
if (apply_btn)
|
||||
{
|
||||
apply_btn->setCommitCallback(boost::bind(&LLPanelRegionGeneralInfo::onBtnSet, this));
|
||||
}
|
||||
|
||||
refresh();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void LLPanelRegionGeneralInfo::onBtnSet()
|
||||
{
|
||||
if(mObjBonusFactor == getChild<LLUICtrl>("object_bonus_spin")->getValue().asReal())
|
||||
{
|
||||
if (sendUpdate())
|
||||
{
|
||||
disableButton("apply_btn");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LLNotificationsUtil::add("ChangeObjectBonusFactor", LLSD(), LLSD(), boost::bind(&LLPanelRegionGeneralInfo::onChangeObjectBonus, this, _1, _2));
|
||||
}
|
||||
}
|
||||
|
||||
bool LLPanelRegionGeneralInfo::onChangeObjectBonus(const LLSD& notification, const LLSD& response)
|
||||
{
|
||||
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
|
||||
if (option == 0)
|
||||
{
|
||||
if (sendUpdate())
|
||||
{
|
||||
disableButton("apply_btn");
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void LLPanelRegionGeneralInfo::onClickKick()
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ public:
|
|||
static LLPanelEstateCovenant* getPanelCovenant();
|
||||
static LLPanelRegionTerrainInfo* getPanelRegionTerrain();
|
||||
static LLPanelRegionExperiences* getPanelExperiences();
|
||||
static LLPanelRegionGeneralInfo* getPanelGeneral();
|
||||
|
||||
// from LLPanel
|
||||
virtual void refresh();
|
||||
|
|
@ -183,6 +184,9 @@ public:
|
|||
// LLPanel
|
||||
virtual BOOL postBuild();
|
||||
|
||||
void onBtnSet();
|
||||
void setObjBonusFactor(F32 object_bonus_factor) {mObjBonusFactor = object_bonus_factor;}
|
||||
|
||||
protected:
|
||||
virtual BOOL sendUpdate();
|
||||
void onClickKick();
|
||||
|
|
@ -191,6 +195,9 @@ protected:
|
|||
bool onKickAllCommit(const LLSD& notification, const LLSD& response);
|
||||
static void onClickMessage(void* userdata);
|
||||
bool onMessageCommit(const LLSD& notification, const LLSD& response);
|
||||
bool onChangeObjectBonus(const LLSD& notification, const LLSD& response);
|
||||
|
||||
F32 mObjBonusFactor;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -3542,6 +3542,19 @@ Teleport all Residents in this region home?
|
|||
yestext="OK"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="ChangeObjectBonusFactor"
|
||||
type="alertmodal">
|
||||
Lowering the object bonus after builds have been established in a region may cause objects to be returned or deleted. Are you sure you want to change object bonus?
|
||||
<tag>confirm</tag>
|
||||
<usetemplate
|
||||
ignoretext="Confirm changing object bonus factor"
|
||||
name="okcancelignore"
|
||||
notext="Cancel"
|
||||
yestext="OK"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="EstateObjectReturn"
|
||||
|
|
|
|||
Loading…
Reference in New Issue