diff options
| author | Oz Linden <oz@lindenlab.com> | 2011-07-29 11:07:27 -0400 | 
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2011-07-29 11:07:27 -0400 | 
| commit | 58ff6b5033e514381a3e9e54d0d6fa681dcc1205 (patch) | |
| tree | b532391e764ecf4e743a3728ab421450c7a83f6c | |
| parent | 8554772a3ce7572aacc2f2d27c66438970103570 (diff) | |
| parent | e67bc887377c7a2eecaa2135c3e6c0f27724f3b5 (diff) | |
merge changes for storm-1311
| -rw-r--r-- | indra/newview/llexpandabletextbox.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llexpandabletextbox.h | 4 | ||||
| -rw-r--r-- | indra/newview/llpanelplaceprofile.cpp | 29 | 
3 files changed, 42 insertions, 0 deletions
| diff --git a/indra/newview/llexpandabletextbox.cpp b/indra/newview/llexpandabletextbox.cpp index 5501b8c2ac..2abfbf37ca 100644 --- a/indra/newview/llexpandabletextbox.cpp +++ b/indra/newview/llexpandabletextbox.cpp @@ -415,6 +415,15 @@ void LLExpandableTextBox::onTopLost()  	LLUICtrl::onTopLost();  } +void LLExpandableTextBox::updateTextShape() +{ +	// I guess this should be done on every reshape(), +	// but adding this code to reshape() currently triggers bug VWR-26455, +	// which makes the text virtually unreadable. +	llassert(!mExpanded); +	updateTextBoxRect(); +} +  void LLExpandableTextBox::setValue(const LLSD& value)  {  	collapseTextBox(); diff --git a/indra/newview/llexpandabletextbox.h b/indra/newview/llexpandabletextbox.h index f75ef954ff..399e48bea2 100644 --- a/indra/newview/llexpandabletextbox.h +++ b/indra/newview/llexpandabletextbox.h @@ -143,6 +143,10 @@ public:  	 */  	/*virtual*/ void onTopLost(); +	/** +	 * *HACK: Update the inner textbox shape. +	 */ +	void updateTextShape();  	/**  	 * Draws text box, collapses text box if its expanded and its parent's position changed diff --git a/indra/newview/llpanelplaceprofile.cpp b/indra/newview/llpanelplaceprofile.cpp index 1e9ce58237..f82e86ef08 100644 --- a/indra/newview/llpanelplaceprofile.cpp +++ b/indra/newview/llpanelplaceprofile.cpp @@ -32,6 +32,7 @@  #include "llparcel.h"  #include "message.h" +#include "llexpandabletextbox.h"  #include "lliconctrl.h"  #include "lllineeditor.h"  #include "lltextbox.h" @@ -227,6 +228,34 @@ void LLPanelPlaceProfile::setInfoType(EInfoType type)  	getChild<LLAccordionCtrl>("advanced_info_accordion")->setVisible(is_info_type_agent); +	// If we came from search we want larger description area, approx. 10 lines (see STORM-1311). +	// Don't use the maximum available space because that leads to nasty artifacts +	// in text editor and expandable text box. +	{ +		const S32 SEARCH_DESC_HEIGHT = 150; + +		// Remember original geometry (once). +		static const S32 sOrigDescVPad = getChildView("parcel_title")->getRect().mBottom - mDescEditor->getRect().mTop; +		static const S32 sOrigDescHeight = mDescEditor->getRect().getHeight(); +		static const S32 sOrigMRIconVPad = mDescEditor->getRect().mBottom - mMaturityRatingIcon->getRect().mTop; +		static const S32 sOrigMRTextVPad = mDescEditor->getRect().mBottom - mMaturityRatingText->getRect().mTop; + +		// Resize the description. +		const S32 desc_height = is_info_type_agent ? sOrigDescHeight : SEARCH_DESC_HEIGHT; +		const S32 desc_top = getChildView("parcel_title")->getRect().mBottom - sOrigDescVPad; +		LLRect desc_rect = mDescEditor->getRect(); +		desc_rect.setOriginAndSize(desc_rect.mLeft, desc_top - desc_height, desc_rect.getWidth(), desc_height); +		mDescEditor->reshape(desc_rect.getWidth(), desc_rect.getHeight()); +		mDescEditor->setRect(desc_rect); +		mDescEditor->updateTextShape(); + +		// Move the maturity rating icon/text accordingly. +		const S32 mr_icon_bottom = mDescEditor->getRect().mBottom - sOrigMRIconVPad - mMaturityRatingIcon->getRect().getHeight(); +		const S32 mr_text_bottom = mDescEditor->getRect().mBottom - sOrigMRTextVPad - mMaturityRatingText->getRect().getHeight(); +		mMaturityRatingIcon->setOrigin(mMaturityRatingIcon->getRect().mLeft, mr_icon_bottom); +		mMaturityRatingText->setOrigin(mMaturityRatingText->getRect().mLeft, mr_text_bottom); +	} +  	switch(type)  	{  		case AGENT: | 
