diff options
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/newview/llfloaterregioninfo.cpp | 52 | ||||
| -rwxr-xr-x | indra/newview/llfloaterregioninfo.h | 7 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/notifications.xml | 13 | 
3 files changed, 71 insertions, 1 deletions
| diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 4eacd728c3..843dbbf25e 100755 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -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 @@ -465,6 +470,16 @@ LLPanelEstateCovenant* LLFloaterRegionInfo::getPanelCovenant()  }  // 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()  {  	LLFloaterRegionInfo* floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); @@ -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() diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 46f2b42137..dbb0ad05e9 100755 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -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;  }; diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 589c05de99..f9059627db 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -3544,6 +3544,19 @@ Teleport all Residents in this region home?    <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"     type="alertmodal">  Are you sure you want to return objects owned by [USER_NAME]? | 
