diff options
| -rw-r--r-- | indra/newview/llfloateravatarpicker.cpp | 34 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_avatar_picker.xml | 10 | 
2 files changed, 30 insertions, 14 deletions
| diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp index 8ac7f3fd7e..07bb6f832b 100644 --- a/indra/newview/llfloateravatarpicker.cpp +++ b/indra/newview/llfloateravatarpicker.cpp @@ -42,6 +42,7 @@  #include "llworld.h"  // Linden libraries +#include "llbutton.h"  #include "lllineeditor.h"  #include "llscrolllistctrl.h"  #include "llscrolllistitem.h" @@ -56,7 +57,8 @@ LLFloaterAvatarPicker* LLFloaterAvatarPicker::show(callback_t callback,  												   BOOL closeOnSelect)  {  	// *TODO: Use a key to allow this not to be an effective singleton -	LLFloaterAvatarPicker* floater = LLFloaterReg::showTypedInstance<LLFloaterAvatarPicker>("avatar_picker"); +	LLFloaterAvatarPicker* floater =  +		LLFloaterReg::showTypedInstance<LLFloaterAvatarPicker>("avatar_picker");  	floater->mCallback = callback;  	floater->mCallbackUserdata = userdata; @@ -64,6 +66,15 @@ LLFloaterAvatarPicker* LLFloaterAvatarPicker::show(callback_t callback,  	floater->mNearMeListComplete = FALSE;  	floater->mCloseOnSelect = closeOnSelect; +	if (!closeOnSelect) +	{ +		// Use Select/Close +		std::string select_string = floater->getString("Select"); +		std::string close_string = floater->getString("Close"); +		floater->getChild<LLButton>("ok_btn")->setLabel(select_string); +		floater->getChild<LLButton>("cancel_btn")->setLabel(close_string); +	} +  	return floater;  } @@ -102,10 +113,9 @@ BOOL LLFloaterAvatarPicker::postBuild()  	friends->setDoubleClickCallback(onBtnSelect, this);  	childSetCommitCallback("Friends", onList, this); -	childSetAction("Select", onBtnSelect, this); -	childDisable("Select"); - -	childSetAction("Cancel", onBtnClose, this); +	childSetAction("ok_btn", onBtnSelect, this); +	childDisable("ok_btn"); +	childSetAction("cancel_btn", onBtnClose, this);  	childSetFocus("Edit"); @@ -132,7 +142,7 @@ BOOL LLFloaterAvatarPicker::postBuild()  void LLFloaterAvatarPicker::onTabChanged()  { -	childSetEnabled("Select", visibleItemsSelected()); +	childSetEnabled("ok_btn", visibleItemsSelected());  }  // Destroys the object @@ -234,7 +244,7 @@ void LLFloaterAvatarPicker::onList(LLUICtrl* ctrl, void* userdata)  	LLFloaterAvatarPicker* self = (LLFloaterAvatarPicker*)userdata;  	if (self)  	{ -		self->childSetEnabled("Select", self->visibleItemsSelected()); +		self->childSetEnabled("ok_btn", self->visibleItemsSelected());  	}  } @@ -270,13 +280,13 @@ void LLFloaterAvatarPicker::populateNearMe()  	if (empty)  	{  		childDisable("NearMe"); -		childDisable("Select"); +		childDisable("ok_btn");  		near_me_scroller->setCommentText(getString("no_one_near"));  	}  	else   	{  		childEnable("NearMe"); -		childEnable("Select"); +		childEnable("ok_btn");  		near_me_scroller->selectFirstItem();  		onList(near_me_scroller, this);  		near_me_scroller->setFocus(TRUE); @@ -357,7 +367,7 @@ void LLFloaterAvatarPicker::find()  	getChild<LLScrollListCtrl>("SearchResults")->deleteAllItems();  	getChild<LLScrollListCtrl>("SearchResults")->setCommentText(getString("searching")); -	childSetEnabled("Select", FALSE); +	childSetEnabled("ok_btn", FALSE);  	mNumResultsReturned = 0;  } @@ -414,7 +424,7 @@ void LLFloaterAvatarPicker::processAvatarPickerReply(LLMessageSystem* msg, void*  			map["[TEXT]"] = floater->childGetText("Edit");  			avatar_name = floater->getString("not_found", map);  			search_results->setEnabled(FALSE); -			floater->childDisable("Select"); +			floater->childDisable("ok_btn");  		}  		else  		{ @@ -430,7 +440,7 @@ void LLFloaterAvatarPicker::processAvatarPickerReply(LLMessageSystem* msg, void*  	if (found_one)  	{ -		floater->childEnable("Select"); +		floater->childEnable("ok_btn");  		search_results->selectFirstItem();  		floater->onList(search_results, floater);  		search_results->setFocus(TRUE); diff --git a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml index 3a1499eaaa..953bd08dd4 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml @@ -26,6 +26,12 @@       name="searching">          Searching...      </floater.string> +    <!-- For multiple person selection, use "Select" and "Close"  +      instead of "OK" and "Cancel" because "Cancel" still keeps the ones  +      you have already selected.  The code will show the appropriate +      set of buttons. --> +    <string name="Select">Select</string> +    <string name="Close">Close</string>      <tab_container       follows="all"       height="300" @@ -205,7 +211,7 @@       height="23"       label="OK"       label_selected="OK" -     name="Select" +     name="ok_btn"       top_pad="3"       left="46"       width="100" /> @@ -214,7 +220,7 @@       height="23"       label="Cancel"       label_selected="Cancel" -     name="Cancel" +     name="cancel_btn"       width="100"       left_pad="5" />  </floater> | 
