diff options
| author | Oz Linden <oz@lindenlab.com> | 2011-03-24 07:48:06 -0400 | 
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2011-03-24 07:48:06 -0400 | 
| commit | 4386bb173b17ca499e0c63809b8c7227da3f0e1c (patch) | |
| tree | 7893d4c6d3eccfaf0839d48618b32de5628cd218 /indra/llui/llcombobox.cpp | |
| parent | eef9b265b951337d0633d18186dad2b734b30d5a (diff) | |
| parent | 1c375a8c880354432da2b218c321ed708497e161 (diff) | |
merge changes for storm-1018
Diffstat (limited to 'indra/llui/llcombobox.cpp')
| -rw-r--r-- | indra/llui/llcombobox.cpp | 29 | 
1 files changed, 23 insertions, 6 deletions
diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp index 8b6a73af56..6f9893b07a 100644 --- a/indra/llui/llcombobox.cpp +++ b/indra/llui/llcombobox.cpp @@ -316,7 +316,7 @@ void LLComboBox::setValue(const LLSD& value)  		LLScrollListItem* item = mList->getFirstSelected();  		if (item)  		{ -			setLabel(getSelectedItemLabel()); +			updateLabel();  		}  		mLastSelectedIndex = mList->getFirstSelectedIndex();  	} @@ -384,6 +384,23 @@ void LLComboBox::setLabel(const LLStringExplicit& name)  	}  } +void LLComboBox::updateLabel() +{ +	// Update the combo editor with the selected +	// item label. +	if (mTextEntry) +	{ +		mTextEntry->setText(getSelectedItemLabel()); +		mTextEntry->setTentative(FALSE); +	} + +	// If combo box doesn't allow text entry update +	// the combo button label. +	if (!mAllowTextEntry) +	{ +		mButton->setLabel(getSelectedItemLabel()); +	} +}  BOOL LLComboBox::remove(const std::string& name)  { @@ -701,13 +718,13 @@ void LLComboBox::onItemSelected(const LLSD& data)  	mLastSelectedIndex = getCurrentIndex();  	if (mLastSelectedIndex != -1)  	{ -		setLabel(getSelectedItemLabel()); +		updateLabel();  		if (mAllowTextEntry) -	{ -		gFocusMgr.setKeyboardFocus(mTextEntry); -		mTextEntry->selectAll(); -	} +		{ +			gFocusMgr.setKeyboardFocus(mTextEntry); +			mTextEntry->selectAll(); +		}  	}  	// hiding the list reasserts the old value stored in the text editor/dropdown button  	hideList();  | 
