diff options
| -rw-r--r-- | indra/newview/llfloaterregioninfo.cpp | 42 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/strings.xml | 1 | 
2 files changed, 28 insertions, 15 deletions
diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 38fa3bd153..25f1fb8c13 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -103,6 +103,8 @@  const S32 TERRAIN_TEXTURE_COUNT = 4;  const S32 CORNER_COUNT = 4; +const U32 MAX_LISTED_NAMES = 100; +  #define TMP_DISABLE_WLES // STORM-1180  ///---------------------------------------------------------------------------- @@ -3828,12 +3830,11 @@ bool LLPanelEstateAccess::accessCoreConfirm(const LLSD& notification, const LLSD  	}  	std::string names; -	bool single = true; - +	U32 listed_names = 0;  	LLSD::array_const_iterator end_it = notification["payload"]["allowed_ids"].endArray();  	for (LLSD::array_const_iterator iter = notification["payload"]["allowed_ids"].beginArray(); -		iter != end_it; -		iter++) +		 iter != end_it; +		 iter++)  	{  		if (iter + 1 != end_it)  		{ @@ -3851,28 +3852,32 @@ bool LLPanelEstateAccess::accessCoreConfirm(const LLSD& notification, const LLSD  			LLNotificationsUtil::add("OwnerCanNotBeDenied");  			break;  		} -		 +  		sendEstateAccessDelta(flags, id);  		if ((flags & (ESTATE_ACCESS_ALLOWED_GROUP_ADD | ESTATE_ACCESS_ALLOWED_GROUP_REMOVE)) == 0)  		{  			// fill the name list for confirmation -			LLAvatarName av_name; -			if (LLAvatarNameCache::get(id, &av_name)) +			if (listed_names < MAX_LISTED_NAMES)  			{ -				if (!names.empty()) +				LLAvatarName av_name; +				if (LLAvatarNameCache::get(id, &av_name))  				{ -					names += ", "; -					single = false; -				} -				names += av_name.getCompleteName(); +					if (!names.empty()) +					{ +						names += ", "; +					} +					names += av_name.getCompleteName(); +				}				  			} +			listed_names++;  		}  	} -	LLPanelEstateAccess* panel = LLFloaterRegionInfo::getPanelAccess(); -	if (panel) +	if (listed_names > MAX_LISTED_NAMES)  	{ -		panel->setPendingUpdate(true); +		LLSD args; +		args["EXTRA_COUNT"] = llformat("%d", listed_names - MAX_LISTED_NAMES); +		names += " " + LLTrans::getString("AndNMore", args);  	}  	if (!names.empty()) // show the conirmation @@ -3902,6 +3907,7 @@ bool LLPanelEstateAccess::accessCoreConfirm(const LLSD& notification, const LLSD  			args["ESTATE"] = LLTrans::getString("RegionInfoThisEstate");  		} +		bool single = (listed_names == 1);  		if (flags & (ESTATE_ACCESS_ALLOWED_AGENT_ADD | ESTATE_ACCESS_BANNED_AGENT_ADD))  		{  			LLNotificationsUtil::add(single ? "AgentWasAddedToList" : "AgentsWereAddedToList", args); @@ -3912,6 +3918,12 @@ bool LLPanelEstateAccess::accessCoreConfirm(const LLSD& notification, const LLSD  		}		  	} +	LLPanelEstateAccess* panel = LLFloaterRegionInfo::getPanelAccess(); +	if (panel) +	{ +		panel->setPendingUpdate(true); +	} +  	return false;  } diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index fd2749bb81..d4327b0c7c 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2661,6 +2661,7 @@ If you continue to receive this message, please contact Second Life support for  	<string name="RegionInfoAllEstates">all estates</string>  	<string name="RegionInfoManagedEstates">managed estates</string>  	<string name="RegionInfoThisEstate">this estate</string> +	<string name="AndNMore">and [EXTRA_COUNT] more</string>  	<!-- script limits floater -->  	<string name="ScriptLimitsParcelScriptMemory">Parcel Script Memory</string>  | 
