diff options
| author | callum <none@none> | 2009-10-29 17:35:38 -0700 | 
|---|---|---|
| committer | callum <none@none> | 2009-10-29 17:35:38 -0700 | 
| commit | 65b74c6a5e0da64e3c30abf18e875fa4191891d0 (patch) | |
| tree | 01ffd01779af951f298753d5ec7ea08f3272d9d7 | |
| parent | b4bd34bd73b2be74afd08785c88b66b2fadd5bfc (diff) | |
| parent | 07647fdc5e02f893905d40af00e9ad4ffbc4ae5a (diff) | |
Merge
160 files changed, 924 insertions, 514 deletions
| diff --git a/indra/llcharacter/llvisualparam.cpp b/indra/llcharacter/llvisualparam.cpp index 9e4957342c..6232c7588b 100644 --- a/indra/llcharacter/llvisualparam.cpp +++ b/indra/llcharacter/llvisualparam.cpp @@ -173,7 +173,8 @@ LLVisualParam::LLVisualParam()  	mTargetWeight( 0.f ),  	mIsAnimating( FALSE ),  	mID( -1 ), -	mInfo( 0 ) +	mInfo( 0 ), +	mIsDummy(FALSE)  {  } @@ -251,6 +252,13 @@ void LLVisualParam::setWeight(F32 weight, BOOL set_by_user)  //-----------------------------------------------------------------------------  void LLVisualParam::setAnimationTarget(F32 target_value, BOOL set_by_user)  { +	// don't animate dummy parameters +	if (mIsDummy) +	{ +		setWeight(target_value, set_by_user); +		return; +	} +  	if (mInfo)  	{  		if (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) diff --git a/indra/llcharacter/llvisualparam.h b/indra/llcharacter/llvisualparam.h index 0b516b9374..affc49debf 100644 --- a/indra/llcharacter/llvisualparam.h +++ b/indra/llcharacter/llvisualparam.h @@ -148,15 +148,19 @@ public:  	LLVisualParam*			getNextParam()		{ return mNext; }  	void					setNextParam( LLVisualParam *next ); -	virtual void			setAnimating(BOOL is_animating) { mIsAnimating = is_animating; } +	virtual void			setAnimating(BOOL is_animating) { mIsAnimating = is_animating && !mIsDummy; }  	BOOL					getAnimating() const { return mIsAnimating; } +	void					setIsDummy(BOOL is_self) { mIsDummy = is_self; } +  protected:  	F32					mCurWeight;			// current weight  	F32					mLastWeight;		// last weight  	LLVisualParam*		mNext;				// next param in a shared chain  	F32					mTargetWeight;		// interpolation target  	BOOL				mIsAnimating;	// this value has been given an interpolation target +	BOOL				mIsDummy;  // this is used to prevent dummy visual params from animating +  	S32					mID;				// id for storing weight/morphtarget compares compactly  	LLVisualParamInfo	*mInfo; diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 7fc4997133..5e2aea2b74 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -241,8 +241,8 @@ public:  	void		setForcePressedState(BOOL b) { mForcePressedState = b; }  protected: -	const LLPointer<LLUIImage>&	getImageUnselected() const	{ return mImageUnselected; } -	const LLPointer<LLUIImage>& getImageSelected() const	{ return mImageSelected; } +	LLPointer<LLUIImage> getImageUnselected() const	{ return mImageUnselected; } +	LLPointer<LLUIImage> getImageSelected() const	{ return mImageSelected; }  	LLFrameTimer	mMouseDownTimer; diff --git a/indra/llui/lldraghandle.cpp b/indra/llui/lldraghandle.cpp index 8eccd709ce..d9b98b1c28 100644 --- a/indra/llui/lldraghandle.cpp +++ b/indra/llui/lldraghandle.cpp @@ -49,9 +49,9 @@  #include "lluictrlfactory.h"  const S32 LEADING_PAD = 5; -const S32 TITLE_PAD = 8; +const S32 TITLE_HPAD = 8;  const S32 BORDER_PAD = 1; -const S32 LEFT_PAD = BORDER_PAD + TITLE_PAD + LEADING_PAD; +const S32 LEFT_PAD = BORDER_PAD + TITLE_HPAD + LEADING_PAD;  const S32 RIGHT_PAD = BORDER_PAD + 32; // HACK: space for close btn and minimize btn  S32 LLDragHandle::sSnapMargin = 5; @@ -240,19 +240,20 @@ void LLDragHandleLeft::draw()  void LLDragHandleTop::reshapeTitleBox()  { +	static LLUICachedControl<S32> title_vpad("UIFloaterTitleVPad", 0);  	if( ! mTitleBox)  	{  		return;  	}  	const LLFontGL* font = LLFontGL::getFontSansSerif(); -	S32 title_width = font->getWidth( mTitleBox->getText() ) + TITLE_PAD; +	S32 title_width = font->getWidth( mTitleBox->getText() ) + TITLE_HPAD;  	if (getMaxTitleWidth() > 0)  		title_width = llmin(title_width, getMaxTitleWidth());  	S32 title_height = llround(font->getLineHeight());  	LLRect title_rect;  	title_rect.setLeftTopAndSize(   		LEFT_PAD,  -		getRect().getHeight() - BORDER_PAD, +		getRect().getHeight() - title_vpad,  		getRect().getWidth() - LEFT_PAD - RIGHT_PAD,  		title_height); diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 021e2e94ac..c8e26ecaea 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -191,9 +191,11 @@ LLFloater::Params::Params()  	can_tear_off("can_tear_off", true),  	save_rect("save_rect", false),  	save_visibility("save_visibility", false), +	can_dock("can_dock", false), +	header_height("header_height", 0), +	legacy_header_height("legacy_header_height", 0),  	open_callback("open_callback"), -	close_callback("close_callback"), -	can_dock("can_dock", false) +	close_callback("close_callback")  {  	visible = false;  } @@ -219,7 +221,7 @@ void LLFloater::initClass()  static LLWidgetNameRegistry::StaticRegistrar sRegisterFloaterParams(&typeid(LLFloater::Params), "floater");  LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p) -:	LLPanel(), +:	LLPanel(),	// intentionally do not pass params here, see initFromParams  	mDragHandle(NULL),  	mTitle(p.title),  	mShortTitle(p.short_title), @@ -233,6 +235,8 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p)  	mResizable(p.can_resize),  	mMinWidth(p.min_width),  	mMinHeight(p.min_height), +	mHeaderHeight(p.header_height), +	mLegacyHeaderHeight(p.legacy_header_height),  	mMinimized(FALSE),  	mForeground(FALSE),  	mFirstLook(TRUE), @@ -274,16 +278,16 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p)  	// chrome floaters don't take focus at all  	setFocusRoot(!getIsChrome()); +	addDragHandle(); +	addResizeCtrls(); +	enableResizeCtrls(mResizable); +  	initFloater();  }  // Note: Floaters constructed from XML call init() twice!  void LLFloater::initFloater()  { -	addDragHandle(); -	 -	addResizeCtrls(); -  	// Close button.  	if (mCanClose)  	{ @@ -323,9 +327,6 @@ void LLFloater::initFloater()  void LLFloater::addDragHandle()  { -	static LLUICachedControl<S32> floater_close_box_size ("UIFloaterCloseBoxSize", 0); -	S32 close_box_size = mCanClose ? floater_close_box_size : 0; -	  	if (!mDragHandle)  	{  		if (mDragOnLeft) @@ -346,6 +347,14 @@ void LLFloater::addDragHandle()  		}  		addChild(mDragHandle);  	} +	layoutDragHandle(); +} + +void LLFloater::layoutDragHandle() +{ +	static LLUICachedControl<S32> floater_close_box_size ("UIFloaterCloseBoxSize", 0); +	S32 close_box_size = mCanClose ? floater_close_box_size : 0; +	  	LLRect rect;  	if (mDragOnLeft)  	{ @@ -361,40 +370,17 @@ void LLFloater::addDragHandle()  }  void LLFloater::addResizeCtrls() -{ -	for (S32 i = 0; i < 4; i++)  -	{ -		if (mResizeBar[i]) -		{ -			removeChild(mResizeBar[i]); -			delete mResizeBar[i]; -			mResizeBar[i] = NULL; -		} -		if (mResizeHandle[i]) -		{ -			removeChild(mResizeHandle[i]); -			delete mResizeHandle[i]; -			mResizeHandle[i] = NULL; -		} -	} -	if( !mResizable ) -	{ -		return; -	} -	 +{	  	// Resize bars (sides) -	const S32 RESIZE_BAR_THICKNESS = 3;  	LLResizeBar::Params p;  	p.name("resizebar_left");  	p.resizing_view(this); -	p.rect(LLRect( 0, getRect().getHeight(), RESIZE_BAR_THICKNESS, 0));  	p.min_size(mMinWidth);  	p.side(LLResizeBar::LEFT);  	mResizeBar[LLResizeBar::LEFT] = LLUICtrlFactory::create<LLResizeBar>(p);  	addChild( mResizeBar[LLResizeBar::LEFT] );  	p.name("resizebar_top"); -	p.rect(LLRect( 0, getRect().getHeight(), getRect().getWidth(), getRect().getHeight() - RESIZE_BAR_THICKNESS));  	p.min_size(mMinHeight);  	p.side(LLResizeBar::TOP); @@ -402,15 +388,12 @@ void LLFloater::addResizeCtrls()  	addChild( mResizeBar[LLResizeBar::TOP] );  	p.name("resizebar_right"); -	p.rect(LLRect(getRect().getWidth() - RESIZE_BAR_THICKNESS, getRect().getHeight(), getRect().getWidth(), 0));  	p.min_size(mMinWidth); -	p.side(LLResizeBar::RIGHT); -	 +	p.side(LLResizeBar::RIGHT);	  	mResizeBar[LLResizeBar::RIGHT] = LLUICtrlFactory::create<LLResizeBar>(p);  	addChild( mResizeBar[LLResizeBar::RIGHT] );  	p.name("resizebar_bottom"); -	p.rect(LLRect(0, RESIZE_BAR_THICKNESS, getRect().getWidth(), 0));  	p.min_size(mMinHeight);  	p.side(LLResizeBar::BOTTOM);  	mResizeBar[LLResizeBar::BOTTOM] = LLUICtrlFactory::create<LLResizeBar>(p); @@ -421,27 +404,69 @@ void LLFloater::addResizeCtrls()  	// handles must not be mouse-opaque, otherwise they block hover events  	// to other buttons like the close box. JC  	handle_p.mouse_opaque(false); -	handle_p.rect(LLRect( getRect().getWidth() - RESIZE_HANDLE_WIDTH, RESIZE_HANDLE_HEIGHT, getRect().getWidth(), 0));  	handle_p.min_width(mMinWidth);  	handle_p.min_height(mMinHeight);  	handle_p.corner(LLResizeHandle::RIGHT_BOTTOM);  	mResizeHandle[0] = LLUICtrlFactory::create<LLResizeHandle>(handle_p);  	addChild(mResizeHandle[0]); -	handle_p.rect(LLRect( getRect().getWidth() - RESIZE_HANDLE_WIDTH, getRect().getHeight(), getRect().getWidth(), getRect().getHeight() - RESIZE_HANDLE_HEIGHT));  	handle_p.corner(LLResizeHandle::RIGHT_TOP);  	mResizeHandle[1] = LLUICtrlFactory::create<LLResizeHandle>(handle_p);  	addChild(mResizeHandle[1]); -	handle_p.rect(LLRect( 0, RESIZE_HANDLE_HEIGHT, RESIZE_HANDLE_WIDTH, 0 ));  	handle_p.corner(LLResizeHandle::LEFT_BOTTOM);  	mResizeHandle[2] = LLUICtrlFactory::create<LLResizeHandle>(handle_p);  	addChild(mResizeHandle[2]); -	handle_p.rect(LLRect( 0, getRect().getHeight(), RESIZE_HANDLE_WIDTH, getRect().getHeight() - RESIZE_HANDLE_HEIGHT ));  	handle_p.corner(LLResizeHandle::LEFT_TOP);  	mResizeHandle[3] = LLUICtrlFactory::create<LLResizeHandle>(handle_p);  	addChild(mResizeHandle[3]); + +	layoutResizeCtrls(); +} + +void LLFloater::layoutResizeCtrls() +{ +	LLRect rect; + +	// Resize bars (sides) +	const S32 RESIZE_BAR_THICKNESS = 3; +	rect = LLRect( 0, getRect().getHeight(), RESIZE_BAR_THICKNESS, 0); +	mResizeBar[LLResizeBar::LEFT]->setRect(rect); + +	rect = LLRect( 0, getRect().getHeight(), getRect().getWidth(), getRect().getHeight() - RESIZE_BAR_THICKNESS); +	mResizeBar[LLResizeBar::TOP]->setRect(rect); + +	rect = LLRect(getRect().getWidth() - RESIZE_BAR_THICKNESS, getRect().getHeight(), getRect().getWidth(), 0); +	mResizeBar[LLResizeBar::RIGHT]->setRect(rect); + +	rect = LLRect(0, RESIZE_BAR_THICKNESS, getRect().getWidth(), 0); +	mResizeBar[LLResizeBar::BOTTOM]->setRect(rect); + +	// Resize handles (corners) +	rect = LLRect( getRect().getWidth() - RESIZE_HANDLE_WIDTH, RESIZE_HANDLE_HEIGHT, getRect().getWidth(), 0); +	mResizeHandle[0]->setRect(rect); + +	rect = LLRect( getRect().getWidth() - RESIZE_HANDLE_WIDTH, getRect().getHeight(), getRect().getWidth(), getRect().getHeight() - RESIZE_HANDLE_HEIGHT); +	mResizeHandle[1]->setRect(rect); +	 +	rect = LLRect( 0, RESIZE_HANDLE_HEIGHT, RESIZE_HANDLE_WIDTH, 0 ); +	mResizeHandle[2]->setRect(rect); + +	rect = LLRect( 0, getRect().getHeight(), RESIZE_HANDLE_WIDTH, getRect().getHeight() - RESIZE_HANDLE_HEIGHT ); +	mResizeHandle[3]->setRect(rect); +} + +void LLFloater::enableResizeCtrls(bool enable) +{ +	for (S32 i = 0; i < 4; ++i) +	{ +		mResizeBar[i]->setVisible(enable); +		mResizeBar[i]->setEnabled(enable); + +		mResizeHandle[i]->setVisible(enable); +		mResizeHandle[i]->setEnabled(enable); +	}  }  // virtual @@ -909,7 +934,8 @@ void LLFloater::handleReshape(const LLRect& new_rect, bool by_user)  void LLFloater::setMinimized(BOOL minimize)  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	const LLFloater::Params& default_params = LLFloater::getDefaultParams(); +	S32 floater_header_size = default_params.header_height;  	static LLUICachedControl<S32> minimized_width ("UIMinimizedWidth", 0);  	if (minimize == mMinimized) return; @@ -1082,7 +1108,8 @@ void LLFloater::setFocus( BOOL b )  void LLFloater::setRect(const LLRect &rect)  {  	LLPanel::setRect(rect); -	addDragHandle(); // re-add drag handle, sized based on rect +	layoutDragHandle(); +	layoutResizeCtrls();  }  // virtual @@ -1389,9 +1416,9 @@ void LLFloater::onClickMinimize(LLFloater* self)  void LLFloater::onClickTearOff(LLFloater* self)  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0);  	if (!self)  		return; +	S32 floater_header_size = self->mHeaderHeight;  	LLMultiFloater* host_floater = self->getHost();  	if (host_floater) //Tear off  	{ @@ -1548,26 +1575,42 @@ void LLFloater::draw()  			shadow_color % alpha,   			llround(shadow_offset)); -		// No transparent windows in simple UI +		LLUIImage* image = NULL; +		LLColor4 color;  		if (isBackgroundOpaque())  		{ -			gl_rect_2d( left, top, right, bottom, getBackgroundColor() % alpha ); +			// NOTE: image may not be set +			image = getBackgroundImage(); +			color = getBackgroundColor();  		}  		else  		{ -			gl_rect_2d( left, top, right, bottom, getTransparentColor() % alpha ); +			image = getTransparentImage(); +			color = getTransparentColor();  		} -		if(hasFocus()  -			&& !getIsChrome()  -			&& !getCurrentTitle().empty()) +		if (image)  		{ -			static LLUIColor titlebar_focus_color = LLUIColorTable::instance().getColor("TitleBarFocusColor"); +			// We're using images for this floater's backgrounds +			image->draw(getLocalRect(), UI_VERTEX_COLOR % alpha); +		} +		else +		{ +			// We're not using images, use old-school flat colors +			gl_rect_2d( left, top, right, bottom, color % alpha ); +  			// draw highlight on title bar to indicate focus.  RDW -			const LLFontGL* font = LLFontGL::getFontSansSerif(); -			LLRect r = getRect(); -			gl_rect_2d_offset_local(0, r.getHeight(), r.getWidth(), r.getHeight() - (S32)font->getLineHeight() - 1,  -				titlebar_focus_color % alpha, 0, TRUE); +			if(hasFocus()  +				&& !getIsChrome()  +				&& !getCurrentTitle().empty()) +			{ +				static LLUIColor titlebar_focus_color = LLUIColorTable::instance().getColor("TitleBarFocusColor"); +				 +				const LLFontGL* font = LLFontGL::getFontSansSerif(); +				LLRect r = getRect(); +				gl_rect_2d_offset_local(0, r.getHeight(), r.getWidth(), r.getHeight() - (S32)font->getLineHeight() - 1,  +					titlebar_focus_color % alpha, 0, TRUE); +			}  		}  	} @@ -1617,18 +1660,6 @@ void LLFloater::draw()  		drawChild(focused_child);  	} -	if( isBackgroundVisible() ) -	{ -		// add in a border to improve spacialized visual aclarity ;) -		// use lines instead of gl_rect_2d so we can round the edges as per james' recommendation -		static LLUIColor focus_border_color = LLUIColorTable::instance().getColor("FloaterFocusBorderColor"); -		static LLUIColor unfocus_border_color = LLUIColorTable::instance().getColor("FloaterUnfocusBorderColor"); -		LLUI::setLineWidth(1.5f); -		LLColor4 outlineColor = gFocusMgr.childHasKeyboardFocus(this) ? focus_border_color : unfocus_border_color; -		gl_rect_2d_offset_local(0, getRect().getHeight() + 1, getRect().getWidth() + 1, 0, outlineColor % alpha, -LLPANEL_BORDER_WIDTH, FALSE); -		LLUI::setLineWidth(1.f); -	} -  	// update tearoff button for torn off floaters  	// when last host goes away  	if (mCanTearOff && !getHost()) @@ -1677,7 +1708,7 @@ void	LLFloater::setCanTearOff(BOOL can_tear_off)  void LLFloater::setCanResize(BOOL can_resize)  {  	mResizable = can_resize; -	addResizeCtrls(); +	enableResizeCtrls(can_resize);  }  void LLFloater::setCanDrag(BOOL can_drag) @@ -2113,7 +2144,8 @@ void LLFloaterView::focusFrontFloater()  void LLFloaterView::getMinimizePosition(S32 *left, S32 *bottom)  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	const LLFloater::Params& default_params = LLFloater::getDefaultParams(); +	S32 floater_header_size = default_params.header_height;  	static LLUICachedControl<S32> minimized_width ("UIMinimizedWidth", 0);  	S32 col = 0;  	LLRect snap_rect_local = getLocalSnapRect(); @@ -2528,6 +2560,9 @@ void LLFloater::setupParamsForExport(Params& p, LLView* parent)  void LLFloater::initFromParams(const LLFloater::Params& p)  { +	// *NOTE: We have too many classes derived from LLPanel to retrofit them  +	// all to pass in params via constructors.  So we use this method. +  	 // control_name, tab_stop, focus_lost_callback, initial_value, rect, enabled, visible  	LLPanel::initFromParams(p); @@ -2544,6 +2579,8 @@ void LLFloater::initFromParams(const LLFloater::Params& p)  	mResizable = p.can_resize;  	mMinWidth = p.min_width;  	mMinHeight = p.min_height; +	mHeaderHeight = p.header_height; +	mLegacyHeaderHeight = p.legacy_header_height;  	mSingleInstance = p.single_instance;  	mAutoTile = p.auto_tile; @@ -2599,6 +2636,23 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr o  		LLFloater::setFloaterHost(last_host);  	} +	// HACK: When we changed the header height to 25 pixels in Viewer 2, rather +	// than re-layout all the floaters we use this value in pixels to make the +	// whole floater bigger and change the top-left coordinate for widgets. +	// The goal is to eventually set mLegacyHeaderHeight to zero, which would +	// make the top-left corner for widget layout the same as the top-left +	// corner of the window's content area.  James +	S32 header_stretch = (mHeaderHeight - mLegacyHeaderHeight); +	if (header_stretch > 0) +	{ +		// Stretch the floater vertically, don't move widgets +		LLRect rect = getRect(); +		rect.mTop += header_stretch; + +		// This will also update drag handle, title bar, close box, etc. +		setRect(rect); +	} +  	BOOL result;  	{  		LLFastTimer ft(POST_BUILD); diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 2fdaecf59a..afdc4ccf00 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -125,6 +125,8 @@ public:  								save_rect,  								save_visibility,  								can_dock; +		Optional<S32>			header_height, +								legacy_header_height; // HACK see initFromXML()  		Optional<CommitCallbackParam> open_callback,  									  close_callback; @@ -209,6 +211,7 @@ public:  	bool			isDragOnLeft() const{ return mDragOnLeft; }  	S32				getMinWidth() const{ return mMinWidth; }  	S32				getMinHeight() const{ return mMinHeight; } +	S32				getHeaderHeight() const { return mHeaderHeight; }  	virtual BOOL	handleMouseDown(S32 x, S32 y, MASK mask);  	virtual BOOL	handleRightMouseDown(S32 x, S32 y, MASK mask); @@ -302,7 +305,10 @@ private:  	void			buildButtons();  	BOOL			offerClickToButton(S32 x, S32 y, MASK mask, EFloaterButtons index);  	void			addResizeCtrls(); +	void			layoutResizeCtrls(); +	void			enableResizeCtrls(bool enable);  	void 			addDragHandle(); +	void			layoutDragHandle();		// repair layout  public:  	// Called when floater is opened, passes mKey @@ -340,6 +346,8 @@ private:  	S32				mMinWidth;  	S32				mMinHeight; +	S32				mHeaderHeight;		// height in pixels of header for title, drag bar +	S32				mLegacyHeaderHeight;// HACK see initFloaterXML()  	BOOL			mMinimized;  	BOOL			mForeground; diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index cf013efca0..6e058e4c62 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -3435,7 +3435,7 @@ void LLMenuHolderGL::setActivatedItem(LLMenuItemGL* item)  LLTearOffMenu::LLTearOffMenu(LLMenuGL* menup) :   	LLFloater(LLSD())  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	S32 floater_header_size = getHeaderHeight();  	setName(menup->getName());  	setTitle(menup->getLabel()); @@ -3479,7 +3479,6 @@ LLTearOffMenu::~LLTearOffMenu()  void LLTearOffMenu::draw()  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0);  	mMenu->setBackgroundVisible(isBackgroundOpaque());  	mMenu->needsArrange(); diff --git a/indra/llui/llmultifloater.cpp b/indra/llui/llmultifloater.cpp index e8ce1a8d97..7d21c7e0c1 100644 --- a/indra/llui/llmultifloater.cpp +++ b/indra/llui/llmultifloater.cpp @@ -54,7 +54,8 @@ LLMultiFloater::LLMultiFloater(const LLSD& key, const LLFloater::Params& params)  void LLMultiFloater::buildTabContainer()  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	const LLFloater::Params& default_params = LLFloater::getDefaultParams(); +	S32 floater_header_size = default_params.header_height;  	LLTabContainer::Params p;  	p.name(std::string("Preview Tabs")); @@ -131,7 +132,8 @@ BOOL LLMultiFloater::closeAllFloaters()  void LLMultiFloater::growToFit(S32 content_width, S32 content_height)  {  	static LLUICachedControl<S32> tabcntr_close_btn_size ("UITabCntrCloseBtnSize", 0); -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	const LLFloater::Params& default_params = LLFloater::getDefaultParams(); +	S32 floater_header_size = default_params.header_height;  	S32 tabcntr_header_height = LLPANEL_BORDER_WIDTH + tabcntr_close_btn_size;  	S32 new_width = llmax(getRect().getWidth(), content_width + LLPANEL_BORDER_WIDTH * 2);  	S32 new_height = llmax(getRect().getHeight(), content_height + floater_header_size + tabcntr_header_height); @@ -461,7 +463,8 @@ BOOL LLMultiFloater::postBuild()  void LLMultiFloater::updateResizeLimits()  {  	static LLUICachedControl<S32> tabcntr_close_btn_size ("UITabCntrCloseBtnSize", 0); -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	const LLFloater::Params& default_params = LLFloater::getDefaultParams(); +	S32 floater_header_size = default_params.header_height;  	S32 tabcntr_header_height = LLPANEL_BORDER_WIDTH + tabcntr_close_btn_size;  	// initialize minimum size constraint to the original xml values.  	S32 new_min_width = mOrigMinWidth; diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp index 095200ddc3..0d340699c5 100644 --- a/indra/llui/llpanel.cpp +++ b/indra/llui/llpanel.cpp @@ -71,10 +71,12 @@ const LLPanel::Params& LLPanel::getDefaultParams()  LLPanel::Params::Params()  :	has_border("border", false),  	border(""), -	bg_opaque_color("bg_opaque_color"), -	bg_alpha_color("bg_alpha_color"),  	background_visible("background_visible", false),  	background_opaque("background_opaque", false), +	bg_opaque_color("bg_opaque_color"), +	bg_alpha_color("bg_alpha_color"), +	bg_opaque_image("bg_opaque_image"), +	bg_alpha_image("bg_alpha_image"),  	min_width("min_width", 100),  	min_height("min_height", 100),  	strings("string"), @@ -92,10 +94,12 @@ LLPanel::Params::Params()  LLPanel::LLPanel(const LLPanel::Params& p)  :	LLUICtrl(p), -	mBgColorAlpha(p.bg_alpha_color()), -	mBgColorOpaque(p.bg_opaque_color()),  	mBgVisible(p.background_visible),  	mBgOpaque(p.background_opaque), +	mBgOpaqueColor(p.bg_opaque_color()), +	mBgAlphaColor(p.bg_alpha_color()), +	mBgOpaqueImage(p.bg_opaque_image()), +	mBgAlphaImage(p.bg_alpha_image()),  	mDefaultBtn(NULL),  	mBorder(NULL),  	mLabel(p.label), @@ -103,6 +107,8 @@ LLPanel::LLPanel(const LLPanel::Params& p)  	mCommitCallbackRegistrar(false),  	mEnableCallbackRegistrar(false),  	mXMLFilename(p.filename) +	// *NOTE: Be sure to also change LLPanel::initFromParams().  We have too +	// many classes derived from LLPanel to retrofit them all to pass in params.  {  	setIsChrome(FALSE); @@ -178,19 +184,31 @@ void LLPanel::draw()  	// draw background  	if( mBgVisible )  	{ -		//RN: I don't see the point of this -		S32 left = 0;//LLPANEL_BORDER_WIDTH; -		S32 top = getRect().getHeight();// - LLPANEL_BORDER_WIDTH; -		S32 right = getRect().getWidth();// - LLPANEL_BORDER_WIDTH; -		S32 bottom = 0;//LLPANEL_BORDER_WIDTH; - +		LLRect local_rect = getLocalRect();  		if (mBgOpaque )  		{ -			gl_rect_2d( left, top, right, bottom, mBgColorOpaque.get() % alpha); +			// opaque, in-front look +			if (mBgOpaqueImage.notNull()) +			{ +				mBgOpaqueImage->draw( local_rect, UI_VERTEX_COLOR % alpha ); +			} +			else +			{ +				// fallback to flat colors when there are no images +				gl_rect_2d( local_rect, mBgOpaqueColor.get() % alpha); +			}  		}  		else  		{ -			gl_rect_2d( left, top, right, bottom, mBgColorAlpha.get() % alpha); +			// transparent, in-back look +			if (mBgAlphaImage.notNull()) +			{ +				mBgAlphaImage->draw( local_rect, UI_VERTEX_COLOR % alpha ); +			} +			else +			{ +				gl_rect_2d( local_rect, mBgAlphaColor.get() % alpha ); +			}  		}  	} @@ -443,7 +461,8 @@ void LLPanel::initFromParams(const LLPanel::Params& p)  	setBackgroundOpaque(p.background_opaque);  	setBackgroundColor(p.bg_opaque_color().get());  	setTransparentColor(p.bg_alpha_color().get()); -	 +	mBgOpaqueImage = p.bg_opaque_image(); +	mBgAlphaImage = p.bg_alpha_image();  }  static LLFastTimer::DeclareTimer FTM_PANEL_SETUP("Panel Setup"); diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h index e8db68ffbb..c213809d68 100644 --- a/indra/llui/llpanel.h +++ b/indra/llui/llpanel.h @@ -48,6 +48,7 @@ const BOOL BORDER_YES = TRUE;  const BOOL BORDER_NO = FALSE;  class LLButton; +class LLUIImage;  /*   * General purpose concrete view base class. @@ -72,12 +73,15 @@ public:  		Optional<bool>			has_border;  		Optional<LLViewBorder::Params>	border; -		Optional<LLUIColor>		bg_opaque_color, -								bg_alpha_color; -  		Optional<bool>			background_visible,  								background_opaque; +		Optional<LLUIColor>		bg_opaque_color, +								bg_alpha_color; +		// opaque image is for "panel in foreground" look +		Optional<LLUIImage*>	bg_opaque_image, +								bg_alpha_image; +  		Optional<S32>			min_width,  								min_height; @@ -127,10 +131,12 @@ public:  	BOOL			hasBorder() const { return mBorder != NULL; }  	void			setBorderVisible( BOOL b ); -	void			setBackgroundColor( const LLColor4& color ) { mBgColorOpaque = color; } -	const LLColor4&	getBackgroundColor() const { return mBgColorOpaque; } -	void			setTransparentColor(const LLColor4& color) { mBgColorAlpha = color; } -	const LLColor4& getTransparentColor() const { return mBgColorAlpha; } +	void			setBackgroundColor( const LLColor4& color ) { mBgOpaqueColor = color; } +	const LLColor4&	getBackgroundColor() const { return mBgOpaqueColor; } +	void			setTransparentColor(const LLColor4& color) { mBgAlphaColor = color; } +	const LLColor4& getTransparentColor() const { return mBgAlphaColor; } +	LLPointer<LLUIImage> getBackgroundImage() const { return mBgOpaqueImage; } +	LLPointer<LLUIImage> getTransparentImage() const { return mBgAlphaImage; }  	void			setBackgroundVisible( BOOL b )	{ mBgVisible = b; }  	BOOL			isBackgroundVisible() const { return mBgVisible; }  	void			setBackgroundOpaque(BOOL b)		{ mBgOpaque = b; } @@ -248,10 +254,12 @@ protected:  	std::string		mHelpTopic;         // the name of this panel's help topic to display in the Help Viewer  private: -	LLUIColor		mBgColorAlpha; -	LLUIColor		mBgColorOpaque; -	BOOL			mBgVisible; -	BOOL			mBgOpaque; +	BOOL			mBgVisible;				// any background at all? +	BOOL			mBgOpaque;				// use opaque color or image +	LLUIColor		mBgOpaqueColor; +	LLUIColor		mBgAlphaColor; +	LLPointer<LLUIImage> mBgOpaqueImage;	// "panel in front" look +	LLPointer<LLUIImage> mBgAlphaImage;		// "panel in back" look  	LLViewBorder*	mBorder;  	LLButton*		mDefaultBtn;  	LLUIString		mLabel; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 6bc95b9cdb..f9d4a06de8 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8812,13 +8812,13 @@      <key>UICloseBoxFromTop</key>      <map>        <key>Comment</key> -      <string>Size of UI floater close box from top</string> +      <string>Distance from top of floater to top of close box icon, pixels</string>        <key>Persist</key>        <integer>1</integer>        <key>Type</key>        <string>S32</string>        <key>Value</key> -      <real>1</real> +      <real>5</real>      </map>      <key>UIExtraTriangleHeight</key>      <map> @@ -8853,17 +8853,6 @@        <key>Value</key>        <real>16</real>      </map> -    <key>UIFloaterHeaderSize</key> -    <map> -      <key>Comment</key> -      <string>Size of UI floater header size</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <real>18</real> -    </map>      <key>UIFloaterHPad</key>      <map>        <key>Comment</key> @@ -8886,16 +8875,16 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>UIFloaterVPad</key> +    <key>UIFloaterTitleVPad</key>      <map>        <key>Comment</key> -      <string>Size of UI floater vertical pad</string> +      <string>Distance from top of floater to top of title string, pixels</string>        <key>Persist</key>        <integer>1</integer>        <key>Type</key>        <string>S32</string>        <key>Value</key> -      <real>6</real> +      <real>7</real>      </map>      <key>UIImgDefaultEyesUUID</key>      <map> diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index b9a0b4293d..380469f5b3 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1985,6 +1985,17 @@ bool LLAgentWearables::canWearableBeRemoved(const LLWearable* wearable) const  	return !(((type == WT_SHAPE) || (type == WT_SKIN) || (type == WT_HAIR) || (type == WT_EYES))  			 && (getWearableCount(type) <= 1) );		    } +void LLAgentWearables::animateAllWearableParams(F32 delta, BOOL set_by_user) +{ +	for( S32 type = 0; type < WT_COUNT; ++type ) +	{ +		for (S32 count = 0; count < (S32)getWearableCount((EWearableType)type); ++count) +		{ +			LLWearable *wearable = getWearable((EWearableType)type,count); +			wearable->animateParams(delta, set_by_user); +		} +	} +}  void LLAgentWearables::updateServer()  { diff --git a/indra/newview/llagentwearables.h b/indra/newview/llagentwearables.h index 667cb94552..97de785c87 100644 --- a/indra/newview/llagentwearables.h +++ b/indra/newview/llagentwearables.h @@ -79,6 +79,8 @@ public:  	// Note: False for shape, skin, eyes, and hair, unless you have MORE than 1.  	bool			canWearableBeRemoved(const LLWearable* wearable) const; + +	void			animateAllWearableParams(F32 delta, BOOL set_by_user);  	//--------------------------------------------------------------------  	// Accessors diff --git a/indra/newview/lldriverparam.cpp b/indra/newview/lldriverparam.cpp index 45f4b4fbd0..527656ab6b 100644 --- a/indra/newview/lldriverparam.cpp +++ b/indra/newview/lldriverparam.cpp @@ -224,6 +224,7 @@ void LLDriverParam::setAvatar(LLVOAvatar *avatarp)  		}  	}  	*new_param = *this; +	new_param->setIsDummy(FALSE);  	return new_param;  } diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index dca0773139..d1317f7c36 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -268,8 +268,8 @@ void LLFloaterCamera::updateState()  	LLRect controls_rect;  	if (childGetRect(CONTROLS, controls_rect))  	{ -		static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); -		static S32 height = controls_rect.getHeight() - floater_header_size; +		S32 floater_header_size = getHeaderHeight(); +		S32 height = controls_rect.getHeight() - floater_header_size;  		S32 newHeight = rect.getHeight();  		if (showControls) diff --git a/indra/newview/llfloatercolorpicker.cpp b/indra/newview/llfloatercolorpicker.cpp index 8e385fca78..73b79d8e13 100644 --- a/indra/newview/llfloatercolorpicker.cpp +++ b/indra/newview/llfloatercolorpicker.cpp @@ -561,7 +561,7 @@ void LLFloaterColorPicker::draw()  	// create rgb area outline  	gl_rect_2d ( mRGBViewerImageLeft,  				 mRGBViewerImageTop - mRGBViewerImageHeight, -				 mRGBViewerImageLeft + mRGBViewerImageWidth, +				 mRGBViewerImageLeft + mRGBViewerImageWidth + 1,  				 mRGBViewerImageTop,  				 LLColor4 ( 0.0f, 0.0f, 0.0f, 1.0f ),  				 FALSE ); @@ -591,7 +591,7 @@ void LLFloaterColorPicker::draw()  	// draw luminance slider outline  	gl_rect_2d ( mLumRegionLeft,  				 mLumRegionTop - mLumRegionHeight, -				 mLumRegionLeft + mLumRegionWidth, +				 mLumRegionLeft + mLumRegionWidth + 1,  				 mLumRegionTop,  				 LLColor4 ( 0.0f, 0.0f, 0.0f, 1.0f ),  				 FALSE ); @@ -607,7 +607,7 @@ void LLFloaterColorPicker::draw()  	// draw selected color swatch outline  	gl_rect_2d ( mSwatchRegionLeft,  				 mSwatchRegionTop - mSwatchRegionHeight, -				 mSwatchRegionLeft + mSwatchRegionWidth, +				 mSwatchRegionLeft + mSwatchRegionWidth + 1,  				 mSwatchRegionTop,  				 LLColor4 ( 0.0f, 0.0f, 0.0f, 1.0f ),  				 FALSE ); diff --git a/indra/newview/llfloatergroupinvite.cpp b/indra/newview/llfloatergroupinvite.cpp index 3598479305..bf484c6343 100644 --- a/indra/newview/llfloatergroupinvite.cpp +++ b/indra/newview/llfloatergroupinvite.cpp @@ -81,7 +81,7 @@ void LLFloaterGroupInvite::impl::closeFloater(void* data)  LLFloaterGroupInvite::LLFloaterGroupInvite(const LLUUID& group_id)  :	LLFloater(group_id)  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	S32 floater_header_size = getHeaderHeight();  	LLRect contents;  	mImpl = new impl(group_id); @@ -114,7 +114,8 @@ LLFloaterGroupInvite::~LLFloaterGroupInvite()  // static  void LLFloaterGroupInvite::showForGroup(const LLUUID& group_id, std::vector<LLUUID> *agent_ids)  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	const LLFloater::Params& floater_params = LLFloater::getDefaultParams(); +	S32 floater_header_size = floater_params.header_height;  	LLRect contents;  	// Make sure group_id isn't null diff --git a/indra/newview/llfloaternotificationsconsole.cpp b/indra/newview/llfloaternotificationsconsole.cpp index f2dff55044..f20fca1258 100644 --- a/indra/newview/llfloaternotificationsconsole.cpp +++ b/indra/newview/llfloaternotificationsconsole.cpp @@ -221,7 +221,8 @@ void LLFloaterNotificationConsole::removeChannel(const std::string& name)  //static   void LLFloaterNotificationConsole::updateResizeLimits()  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	const LLFloater::Params& floater_params = LLFloater::getDefaultParams(); +	S32 floater_header_size = floater_params.header_height;  	LLLayoutStack& stack = getChildRef<LLLayoutStack>("notification_channels");  	setResizeLimits(getMinWidth(), floater_header_size + HEADER_PADDING + ((NOTIFICATION_PANEL_HEADER_HEIGHT + 3) * stack.getNumPanels())); diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp index ac743df4f1..2fe21f28de 100644 --- a/indra/newview/llfloateruipreview.cpp +++ b/indra/newview/llfloateruipreview.cpp @@ -865,7 +865,8 @@ void LLFloaterUIPreview::displayFloater(BOOL click, S32 ID, bool save)  	}  	else																// if it is a panel...  	{ -		static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +		const LLFloater::Params& floater_params = LLFloater::getDefaultParams(); +		S32 floater_header_size = floater_params.header_height;  		LLPanel::Params panel_params;  		LLPanel* panel = LLUICtrlFactory::create<LLPanel>(panel_params);	// create a new panel diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 3aa35d98f8..59f70ea1bd 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -1,11 +1,11 @@ -/**  +/**   * @file llinventorybridge.cpp   * @brief Implementation of the Inventory-Folder-View-Bridge classes.   *   * $LicenseInfo:firstyear=2001&license=viewergpl$ - *  + *   * Copyright (c) 2001-2009, Linden Research, Inc. - *  + *   * Second Life Viewer Source Code   * The source code in this file ("Source Code") is provided by Linden Lab   * to you under the terms of the GNU General Public License, version 2.0 @@ -13,17 +13,17 @@   * ("Other License"), formally executed by you and Linden Lab.  Terms of   * the GPL can be found in doc/GPL-license.txt in this distribution, or   * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - *  + *   * There are special exceptions to the terms and conditions of the GPL as   * it is applied to this Source Code. View the full text of the exception   * in the file doc/FLOSS-exception.txt in this software distribution, or   * online at   * http://secondlifegrid.net/programs/open_source/licensing/flossexception - *  + *   * By copying, modifying or distributing this software, you acknowledge   * that you have read and understood your obligations described above,   * and agree to abide by those obligations. - *  + *   * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO   * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,   * COMPLETENESS OR PERFORMANCE. @@ -83,7 +83,7 @@  #include "llvoavatar.h"  #include "llwearable.h"  #include "llwearablelist.h" -#include "llviewermessage.h"  +#include "llviewermessage.h"  #include "llviewerregion.h"  #include "llvoavatarself.h"  #include "lltabcontainer.h" @@ -147,8 +147,8 @@ std::string ICON_NAME[ICON_NAME_COUNT] =  	"Inv_Undershirt",  	"Inv_Underpants",  	"Inv_Skirt", -	"inv_item_alpha.tga", -	"inv_item_tattoo.tga", +	"Inv_Alpha", +	"Inv_Tattoo",  	"Inv_Animation",  	"Inv_Gesture", @@ -237,7 +237,7 @@ void LLInvFVBridge::renameLinkedItems(const LLUUID &item_id, const std::string&  	{  		return;  	} -	 +  	LLInventoryModel::item_array_t item_array = model->collectLinkedItems(item_id);  	for (LLInventoryModel::item_array_t::iterator iter = item_array.begin();  		 iter != item_array.end(); @@ -245,7 +245,7 @@ void LLInvFVBridge::renameLinkedItems(const LLUUID &item_id, const std::string&  	{  		LLViewerInventoryItem *linked_item = (*iter);  		if (linked_item->getUUID() == item_id) continue; -		 +  		LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(linked_item);  		new_item->rename(new_name);  		new_item->updateServer(FALSE); @@ -290,7 +290,7 @@ void LLInvFVBridge::removeBatch(LLDynamicArray<LLFolderViewEventListener*>& batc  	S32 count = batch.count();  	S32 i,j;  	for(i = 0; i < count; ++i) -	{	 +	{  		bridge = (LLInvFVBridge*)(batch.get(i));  		if(!bridge || !bridge->isItemRemovable()) continue;  		item = (LLViewerInventoryItem*)model->getItem(bridge->getUUID()); @@ -303,7 +303,7 @@ void LLInvFVBridge::removeBatch(LLDynamicArray<LLFolderViewEventListener*>& batc  		}  	}  	for(i = 0; i < count; ++i) -	{		 +	{  		bridge = (LLInvFVBridge*)(batch.get(i));  		if(!bridge || !bridge->isItemRemovable()) continue;  		cat = (LLViewerInventoryCategory*)model->getCategory(bridge->getUUID()); @@ -506,7 +506,7 @@ BOOL LLInvFVBridge::isClipboardPasteableAsLink() const  	return TRUE;  } -void hideContextEntries(LLMenuGL& menu,  +void hideContextEntries(LLMenuGL& menu,  						const std::vector<std::string> &entries_to_show,  						const std::vector<std::string> &disabled_entries)  { @@ -523,8 +523,8 @@ void hideContextEntries(LLMenuGL& menu,  		{  			hideContextEntries(*branchp->getBranch(), entries_to_show, disabled_entries);  		} -		 -		 + +  		bool found = false;  		std::vector<std::string>::const_iterator itor2;  		for (itor2 = entries_to_show.begin(); itor2 != entries_to_show.end(); ++itor2) @@ -552,8 +552,8 @@ void hideContextEntries(LLMenuGL& menu,  }  // Helper for commonly-used entries -void LLInvFVBridge::getClipboardEntries(bool show_asset_id,  -										std::vector<std::string> &items,  +void LLInvFVBridge::getClipboardEntries(bool show_asset_id, +										std::vector<std::string> &items,  										std::vector<std::string> &disabled_items, U32 flags)  {  	items.push_back(std::string("Rename")); @@ -565,7 +565,7 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id,  	if (show_asset_id)  	{  		items.push_back(std::string("Copy Asset UUID")); -		if ( (! ( isItemPermissive() || gAgent.isGodlike() ) )  +		if ( (! ( isItemPermissive() || gAgent.isGodlike() ) )  			  || (flags & FIRST_SELECTED_ITEM) == 0)  		{  			disabled_items.push_back(std::string("Copy Asset UUID")); @@ -638,7 +638,7 @@ BOOL LLInvFVBridge::startDrag(EDragAndDropType* type, LLUUID* id) const  		{  			return FALSE;  		} -		 +  		*id = obj->getUUID();  		//object_ids.put(obj->getUUID()); @@ -808,7 +808,7 @@ LLInvFVBridge* LLInvFVBridge::createBridge(LLAssetType::EType asset_type,  			}  			new_listener = new LLLandmarkBridge(inventory, uuid, flags);  			break; -		 +  		case LLAssetType::AT_CALLINGCARD:  			if(!(inv_type == LLInventoryType::IT_CALLINGCARD))  			{ @@ -1100,7 +1100,7 @@ PermissionMask LLItemBridge::getPermissionMask() const  {  	LLViewerInventoryItem* item = getItem();  	PermissionMask perm_mask = 0; -	if(item)  +	if(item)  	{  		BOOL copy = item->getPermissions().allowCopyBy(gAgent.getID());  		BOOL mod = item->getPermissions().allowModifyBy(gAgent.getID()); @@ -1126,9 +1126,9 @@ const std::string& LLItemBridge::getDisplayName() const  void LLItemBridge::buildDisplayName(LLInventoryItem* item, std::string& name)  { -	if(item)  +	if(item)  	{ -		name.assign(item->getName());			 +		name.assign(item->getName());  	}  	else  	{ @@ -1137,9 +1137,9 @@ void LLItemBridge::buildDisplayName(LLInventoryItem* item, std::string& name)  }  LLFontGL::StyleFlags LLItemBridge::getLabelStyle() const -{  +{  	U8 font = LLFontGL::NORMAL; -	 +  	if( gAgentWearables.isWearingItem( mUUID ) )  	{  		// llinfos << "BOLD" << llendl; @@ -1165,7 +1165,7 @@ std::string LLItemBridge::getLabelSuffix() const  	static std::string BROKEN_LINK = LLTrans::getString("broken_link");  	std::string suffix;  	LLInventoryItem* item = getItem(); -	if(item)  +	if(item)  	{  		// it's a bit confusing to put nocopy/nomod/etc on calling cards.  		if(LLAssetType::AT_CALLINGCARD != item->getType() @@ -1294,9 +1294,9 @@ BOOL LLItemBridge::isItemCopyable() const  		{  			return FALSE;  		} -		 +  		// All items can be copied, not all can be pasted. -		// The only time an item can't be copied is if it's a link  +		// The only time an item can't be copied is if it's a link  		// return (item->getPermissions().allowCopyBy(gAgent.getID()));  		if (item->getIsLinkType())  		{ @@ -1348,7 +1348,7 @@ BOOL LLItemBridge::isItemPermissive() const  LLFolderBridge* LLFolderBridge::sSelf=NULL;  // Can be moved to another folder -BOOL LLFolderBridge::isItemMovable() const  +BOOL LLFolderBridge::isItemMovable() const  {  	LLInventoryObject* obj = getInventoryObject();  	if(obj) @@ -1367,7 +1367,7 @@ void LLFolderBridge::selectItem()  BOOL LLFolderBridge::isItemRemovable()  {  	LLInventoryModel* model = getInventoryModel(); -	if(!model)  +	if(!model)  	{  		return FALSE;  	} @@ -1478,7 +1478,7 @@ BOOL LLFolderBridge::isClipboardPasteable() const  		LLInventoryClipboard::instance().retrieve(objects);  		const LLViewerInventoryCategory *current_cat = getCategory(); -		// Search for the direct descendent of current Friends subfolder among all pasted items,  +		// Search for the direct descendent of current Friends subfolder among all pasted items,  		// and return false if is found.  		for(S32 i = objects.count() - 1; i >= 0; --i)  		{ @@ -1500,7 +1500,7 @@ BOOL LLFolderBridge::isClipboardPasteableAsLink() const  	{  		return FALSE;  	} -	 +  	const LLInventoryModel* model = getInventoryModel();  	if (!model)  	{ @@ -1523,7 +1523,7 @@ BOOL LLFolderBridge::isClipboardPasteableAsLink() const  			{  				const LLUUID &cat_id = cat->getUUID();  				// Don't allow recursive pasting -				if ((cat_id == current_cat_id) ||  +				if ((cat_id == current_cat_id) ||  					model->isObjectDescendentOf(current_cat_id, cat_id))  				{  					return FALSE; @@ -1549,7 +1549,7 @@ BOOL LLFolderBridge::isClipboardPasteableAsLink() const  BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  											BOOL drop)  { -	// This should never happen, but if an inventory item is incorrectly parented,  +	// This should never happen, but if an inventory item is incorrectly parented,  	// the UI will get confused and pass in a NULL.  	if(!inv_cat) return FALSE; @@ -1611,7 +1611,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  					break;  				}  			} -			 +  			if( is_movable )  			{  				if( move_is_into_trash ) @@ -1642,7 +1642,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  			}  		} -		 +  		accept =	is_movable  					&& (mUUID != cat_id)								// Can't move a folder into itself  					&& (mUUID != inv_cat->getParentUUID())				// Avoid moves that would change nothing @@ -1663,7 +1663,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  				}  			}  			// if target is an outfit or current outfit folder we use link -			if (move_is_into_current_outfit || move_is_into_outfit)  +			if (move_is_into_current_outfit || move_is_into_outfit)  			{  #if SUPPORT_ENSEMBLES  				// BAP - should skip if dup. @@ -1686,7 +1686,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  			}  			else  			{ -				 +  				// Reparent the folder and restamp children if it's moving  				// into trash.  				LLInvFVBridge::changeCategoryParent( @@ -1723,7 +1723,7 @@ void warn_move_inventory(LLViewerObject* object, LLMoveInv* move_inv)  // Move/copy all inventory items from the Contents folder of an in-world  // object to the agent's inventory, inside a given category. -BOOL move_inv_category_world_to_agent(const LLUUID& object_id,  +BOOL move_inv_category_world_to_agent(const LLUUID& object_id,  									  const LLUUID& category_id,  									  BOOL drop,  									  void (*callback)(S32, void*), @@ -1750,7 +1750,7 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id,  		llinfos << "Object contents not found for drop." << llendl;  		return FALSE;  	} -	 +  	BOOL accept = TRUE;  	BOOL is_move = FALSE; @@ -1836,7 +1836,7 @@ bool LLFindCOFValidItems::operator()(LLInventoryCategory* cat,  	{  		LLViewerInventoryCategory *linked_category = ((LLViewerInventoryItem*)item)->getLinkedCategory(); // BAP - safe?  		// BAP remove AT_NONE support after ensembles are fully working? -		return (linked_category &&  +		return (linked_category &&  				((linked_category->getPreferredType() == LLAssetType::AT_NONE) ||  				 (LLAssetType::lookupIsEnsembleCategoryType(linked_category->getPreferredType()))));  	} @@ -1878,7 +1878,7 @@ public:  		gInventory.removeObserver(this);  		delete this;  	} -	 +  protected:  	LLUUID mCatID; @@ -1973,7 +1973,7 @@ void LLRightClickInventoryFetchDescendentsObserver::done()  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  // Class LLInventoryWearObserver  // -// Observer for "copy and wear" operation to support knowing  +// Observer for "copy and wear" operation to support knowing  // when the all of the contents have been added to inventory.  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  class LLInventoryCopyAndWearObserver : public LLInventoryObserver @@ -1995,7 +1995,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)  {  	if((mask & (LLInventoryObserver::ADD)) != 0)  	{ -		if (!mFolderAdded)  +		if (!mFolderAdded)  		{  			const std::set<LLUUID>& changed_items = gInventory.getChangedIDs(); @@ -2003,7 +2003,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)  			std::set<LLUUID>::const_iterator id_end = changed_items.end();  			for (;id_it != id_end; ++id_it)  			{ -				if ((*id_it) == mCatID)  +				if ((*id_it) == mCatID)  				{  					mFolderAdded = TRUE;  					break; @@ -2011,7 +2011,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)  			}  		} -		if (mFolderAdded)  +		if (mFolderAdded)  		{  			LLViewerInventoryCategory* category = gInventory.getCategory(mCatID); @@ -2029,7 +2029,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)  					LLAppearanceManager::wearInventoryCategory(category, FALSE, TRUE);  					delete this;  				} -			}		 +			}  		}  	} @@ -2091,12 +2091,12 @@ void LLFolderBridge::performAction(LLFolderView* folder, LLInventoryModel* model  		if(!model) return;  		LLViewerInventoryCategory* cat = getCategory();  		if(!cat) return; -		 +  		remove_inventory_category_from_avatar ( cat );  		return; -	}	 +	}  	else if ("purge" == action) -	{		 +	{  		purgeItem(model, mUUID);  		return;  	} @@ -2270,7 +2270,7 @@ void LLFolderBridge::pasteFromClipboard()  			{  				if(LLInventoryClipboard::instance().isCutMode())  				{ -					// move_inventory_item() is not enough,  +					// move_inventory_item() is not enough,  					//we have to update inventory locally too  					changeItemParent(model, dynamic_cast<LLViewerInventoryItem*>(item), parent_id, FALSE);  				} @@ -2347,7 +2347,7 @@ void LLFolderBridge::folderOptionsMenu()  	// BAP change once we're no longer treating regular categories as ensembles.  	const bool is_ensemble = category && (type == LLAssetType::AT_NONE ||  										  LLAssetType::lookupIsEnsembleCategoryType(type)); -	 +  	// calling card related functionality for folders.  	// Only enable calling-card related options for non-default folders. @@ -2361,7 +2361,7 @@ void LLFolderBridge::folderOptionsMenu()  			mItems.push_back(std::string("IM All Contacts In Folder"));  		}  	} -	 +  	// wearables related functionality for folders.  	//is_wearable  	LLFindWearables is_wearable; @@ -2416,7 +2416,7 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  	LLUUID lost_and_found_id = model->findCategoryUUIDForType(LLAssetType::AT_LOST_AND_FOUND);  	mItems.clear(); //adding code to clear out member Items (which means Items should not have other data here at this point) -	mDisabledItems.clear(); //adding code to clear out disabled members from previous  +	mDisabledItems.clear(); //adding code to clear out disabled members from previous  	if (lost_and_found_id == mUUID)  	  {  		// This is the lost+found folder. @@ -2458,13 +2458,13 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  			mItems.push_back(std::string("New Clothes"));  			mItems.push_back(std::string("New Body Parts"));  			mItems.push_back(std::string("Change Type")); -			 +  			LLViewerInventoryCategory *cat = getCategory();  			if (cat && LLAssetType::lookupIsProtectedCategoryType(cat->getPreferredType()))  			{  				mDisabledItems.push_back(std::string("Change Type"));  			} -			 +  			getClipboardEntries(false, mItems, mDisabledItems, flags);  		}  		else @@ -2479,24 +2479,24 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  		//Added by spatters to force inventory pull on right-click to display folder options correctly. 07-17-06  		mCallingCards = mWearables = FALSE; -		 +  		LLIsType is_callingcard(LLAssetType::AT_CALLINGCARD);  		if (checkFolderForContentsOfType(model, is_callingcard))  		{  			mCallingCards=TRUE;  		} -		 +  		LLFindWearables is_wearable;  		LLIsType is_object( LLAssetType::AT_OBJECT );  		LLIsType is_gesture( LLAssetType::AT_GESTURE ); -		 +  		if (checkFolderForContentsOfType(model, is_wearable)  ||  			checkFolderForContentsOfType(model, is_object) ||  			checkFolderForContentsOfType(model, is_gesture) )  		{  			mWearables=TRUE;  		} -		 +  		mMenu = &menu;  		sSelf = this;  		LLRightClickInventoryFetchDescendentsObserver* fetch = new LLRightClickInventoryFetchDescendentsObserver(FALSE); @@ -2709,7 +2709,7 @@ void LLFolderBridge::modifyOutfit(BOOL append)  	if(!model) return;  	LLViewerInventoryCategory* cat = getCategory();  	if(!cat) return; -	 +  	// BAP - was:  	// wear_inventory_category_on_avatar( cat, append );  	LLAppearanceManager::wearInventoryCategory( cat, FALSE, append ); @@ -2735,8 +2735,8 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response  		}  		two_uuids_list_t::iterator move_it; -		for (move_it = move_inv->mMoveList.begin();  -			move_it != move_inv->mMoveList.end();  +		for (move_it = move_inv->mMoveList.begin(); +			move_it != move_inv->mMoveList.end();  			++move_it)  		{  			object->moveInventory(move_it->first, move_it->second); @@ -2845,7 +2845,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,  		LLUUID current_outfit_id = model->findCategoryUUIDForType(LLAssetType::AT_CURRENT_OUTFIT);  		BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);  		BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLAssetType::AT_OUTFIT); -		 +  		if(is_movable && move_is_into_trash)  		{  			switch(inv_item->getType()) @@ -2873,7 +2873,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,  			is_movable = ! LLFriendCardsManager::instance()  				.isObjDirectDescendentOfCategory (inv_item, getCategory());  		} -  +  		LLUUID favorites_id = model->findCategoryUUIDForType(LLAssetType::AT_FAVORITE);  		// we can move item inside a folder only if this folder is Favorites. See EXT-719 @@ -2979,7 +2979,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,  		if((perm.allowCopyBy(gAgent.getID(), gAgent.getGroupID())  			&& perm.allowTransferTo(gAgent.getID())))  //		   || gAgent.isGodlike()) -			 +  		{  			accept = TRUE;  		} @@ -3010,7 +3010,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,  				LLNotifications::instance().forceResponse(params, 0);  			}  		} -		 +  	}  	else if(LLToolDragAndDrop::SOURCE_NOTECARD == source)  	{ @@ -3063,11 +3063,11 @@ LLUIImagePtr LLTextureBridge::getIcon() const  {  	return get_item_icon(LLAssetType::AT_TEXTURE, mInvType, 0, FALSE);  } -	 +  void LLTextureBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3086,7 +3086,7 @@ LLUIImagePtr LLSoundBridge::getIcon() const  void LLSoundBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3155,7 +3155,7 @@ void LLSoundBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  // +=================================================+  LLLandmarkBridge::LLLandmarkBridge(LLInventoryPanel* inventory, const LLUUID& uuid, U32 flags/* = 0x00*/) : -LLItemBridge(inventory, uuid)  +LLItemBridge(inventory, uuid)  {  	mVisited = FALSE;  	if (flags & LLInventoryItem::II_FLAGS_LANDMARK_VISITED) @@ -3244,7 +3244,7 @@ void LLLandmarkBridge::performAction(LLFolderView* folder, LLInventoryModel* mod  			LLSideTray::getInstance()->showPanel("panel_places", key);  		}  	} -	else  +	else  	{  		LLItemBridge::performAction(folder, model, action);  	} @@ -3268,7 +3268,7 @@ static LLNotificationFunctorRegistration open_landmark_callback_reg("TeleportFro  void LLLandmarkBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3376,7 +3376,7 @@ std::string LLCallingCardBridge::getLabelSuffix() const  void LLCallingCardBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3515,7 +3515,7 @@ BOOL LLCallingCardBridge::removeItem()  		LLAvatarActions::removeFriendDialog(getItem()->getCreatorUUID());  		return FALSE;  	} -	else  +	else  	{  		return LLItemBridge::removeItem();  	} @@ -3532,7 +3532,7 @@ LLUIImagePtr LLNotecardBridge::getIcon() const  void LLNotecardBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3614,7 +3614,7 @@ void LLGestureBridge::performAction(LLFolderView* folder, LLInventoryModel* mode  void LLGestureBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3716,7 +3716,7 @@ void LLAnimationBridge::performAction(LLFolderView* folder, LLInventoryModel* mo  			LLPreviewAnim::e_activation_type activate = LLPreviewAnim::NONE;  			if ("playworld" == action) activate = LLPreviewAnim::PLAY;  			if ("playlocal" == action) activate = LLPreviewAnim::AUDITION; -			 +  			LLPreviewAnim* preview = LLFloaterReg::showTypedInstance<LLPreviewAnim>("preview_anim", LLSD(mUUID));  			if (preview)  			{ @@ -3733,7 +3733,7 @@ void LLAnimationBridge::performAction(LLFolderView* folder, LLInventoryModel* mo  void LLAnimationBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3841,7 +3841,7 @@ void LLObjectBridge::performAction(LLFolderView* folder, LLInventoryModel* model  void LLObjectBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3853,7 +3853,7 @@ void LLObjectBridge::openItem()  }  LLFontGL::StyleFlags LLObjectBridge::getLabelStyle() const -{  +{  	U8 font = LLFontGL::NORMAL;  	LLVOAvatarSelf* avatar = gAgent.getAvatarObject(); @@ -3867,7 +3867,7 @@ LLFontGL::StyleFlags LLObjectBridge::getLabelStyle() const  	{  		font |= LLFontGL::ITALIC;  	} -	 +  	return (LLFontGL::StyleFlags)font;  } @@ -3878,7 +3878,7 @@ std::string LLObjectBridge::getLabelSuffix() const  	{  		std::string attachment_point_name = avatar->getAttachedPointName(mUUID);  		LLStringUtil::toLower(attachment_point_name); -		 +  		LLStringUtil::format_map_t args;  		args["[ATTACHMENT_POINT]"] =  attachment_point_name.c_str();  		return LLItemBridge::getLabelSuffix() + LLTrans::getString("WornOnAttachmentPoint", args); @@ -3925,7 +3925,7 @@ void rez_attachment(LLViewerInventoryItem* item, LLViewerJointAttachment* attach  bool confirm_replace_attachment_rez(const LLSD& notification, const LLSD& response)  {  	LLVOAvatar *avatarp = gAgent.getAvatarObject(); -		 +  	if (!avatarp->canAttachMoreObjects())  	{  		LLSD args; @@ -3938,7 +3938,7 @@ bool confirm_replace_attachment_rez(const LLSD& notification, const LLSD& respon  	if (option == 0/*YES*/)  	{  		LLViewerInventoryItem* itemp = gInventory.getItem(notification["payload"]["item_id"].asUUID()); -		 +  		if (itemp)  		{  			LLMessageSystem* msg = gMessageSystem; @@ -3999,7 +3999,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  			{  				return;  			} -			 +  			if( avatarp->isWearingAttachment( mUUID ) )  			{  				items.push_back(std::string("Detach From Yourself")); @@ -4023,13 +4023,13 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  				LLMenuGL* attach_menu = menu.findChildMenuByName("Attach To", TRUE);  				LLMenuGL* attach_hud_menu = menu.findChildMenuByName("Attach To HUD", TRUE);  				LLVOAvatar *avatarp = gAgent.getAvatarObject(); -				if (attach_menu  -					&& (attach_menu->getChildCount() == 0)  -					&& attach_hud_menu  -					&& (attach_hud_menu->getChildCount() == 0)  +				if (attach_menu +					&& (attach_menu->getChildCount() == 0) +					&& attach_hud_menu +					&& (attach_hud_menu->getChildCount() == 0)  					&& avatarp)  				{ -					for (LLVOAvatar::attachment_map_t::iterator iter = avatarp->mAttachmentPoints.begin();  +					for (LLVOAvatar::attachment_map_t::iterator iter = avatarp->mAttachmentPoints.begin();  						 iter != avatarp->mAttachmentPoints.end(); )  					{  						LLVOAvatar::attachment_map_t::iterator curiter = iter++; @@ -4110,7 +4110,7 @@ LLUIImagePtr LLLSLTextBridge::getIcon() const  void LLLSLTextBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -4146,7 +4146,7 @@ void wear_add_inventory_item_on_avatar( LLInventoryItem* item )  	{  		lldebugs << "wear_add_inventory_item_on_avatar( " << item->getName()  				 << " )" << llendl; -			 +  		LLWearableList::instance().getAsset(item->getAssetUUID(),  							   item->getName(),  							   item->getType(), @@ -4160,8 +4160,8 @@ void remove_inventory_category_from_avatar( LLInventoryCategory* category )  	if(!category) return;  	lldebugs << "remove_inventory_category_from_avatar( " << category->getName()  			 << " )" << llendl; -			  -	 + +  	if( gFloaterCustomize )  	{  		gFloaterCustomize->askToSaveIfDirty( @@ -4236,8 +4236,8 @@ void remove_inventory_category_from_avatar_step2( BOOL proceed, LLUUID category_  				}  			}  		} -		 -		 + +  		if (obj_count > 0)  		{  			for(i = 0; i  < obj_count; ++i) @@ -4332,7 +4332,7 @@ void LLWearableBridge::performAction(LLFolderView* folder, LLInventoryModel* mod  		{  			LLViewerInventoryItem* item = getItem();  			if (item) -			{	 +			{  				LLWearableList::instance().getAsset(item->getAssetUUID(),  													item->getName(),  													item->getType(), @@ -4347,7 +4347,7 @@ void LLWearableBridge::performAction(LLFolderView* folder, LLInventoryModel* mod  void LLWearableBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -4431,7 +4431,7 @@ void LLWearableBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  		getClipboardEntries(true, items, disabled_items, flags);  		items.push_back(std::string("Wearable Separator")); -		 +  		items.push_back(std::string("Wearable Wear"));  		items.push_back(std::string("Wearable Add"));  		items.push_back(std::string("Wearable Edit")); @@ -4462,7 +4462,7 @@ void LLWearableBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  						disabled_items.push_back(std::string("Wearable Add"));  					}  					else -					{	 +					{  						disabled_items.push_back(std::string("Take Off"));  					}  					break; @@ -4501,7 +4501,7 @@ void LLWearableBridge::wearOnAvatar()  {  	// Don't wear anything until initial wearables are loaded, can  	// destroy clothing items. -	if (!gAgentWearables.areWearablesLoaded())  +	if (!gAgentWearables.areWearablesLoaded())  	{  		LLNotifications::instance().add("CanNotChangeAppearanceUntilLoaded");  		return; @@ -4532,7 +4532,7 @@ void LLWearableBridge::wearAddOnAvatar()  {  	// Don't wear anything until initial wearables are loaded, can  	// destroy clothing items. -	if (!gAgentWearables.areWearablesLoaded())  +	if (!gAgentWearables.areWearablesLoaded())  	{  		LLNotifications::instance().add("CanNotChangeAppearanceUntilLoaded");  		return; @@ -4620,7 +4620,7 @@ BOOL LLWearableBridge::canEditOnAvatar(void* user_data)  	return (gAgentWearables.isWearingItem(self->mUUID));  } -// static  +// static  void LLWearableBridge::onEditOnAvatar(void* user_data)  {  	LLWearableBridge* self = (LLWearableBridge*)user_data; @@ -4658,7 +4658,7 @@ BOOL LLWearableBridge::canRemoveFromAvatar(void* user_data)  	return FALSE;  } -// static  +// static  void LLWearableBridge::onRemoveFromAvatar(void* user_data)  {  	LLWearableBridge* self = (LLWearableBridge*)user_data; @@ -4689,7 +4689,7 @@ void LLWearableBridge::onRemoveFromAvatarArrived(LLWearable* wearable,  		if( gAgentWearables.isWearingItem( item_id ) )  		{  			EWearableType type = wearable->getType(); -	 +  			if( !(type==WT_SHAPE || type==WT_SKIN || type==WT_HAIR || type==WT_EYES ) ) //&&  				//!((!gAgent.isTeen()) && ( type==WT_UNDERPANTS || type==WT_UNDERSHIRT )) )  			{ @@ -4733,7 +4733,7 @@ LLInvFVBridgeAction* LLInvFVBridgeAction::createAction(LLAssetType::EType asset_  	case LLAssetType::AT_LANDMARK:  		action = new LLLandmarkBridgeAction(uuid,model);  		break; -		 +  	case LLAssetType::AT_CALLINGCARD:  		action = new LLCallingCardBridgeAction(uuid,model);  		break; @@ -4770,7 +4770,7 @@ LLInvFVBridgeAction* LLInvFVBridgeAction::createAction(LLAssetType::EType asset_  	return action;  } -//static  +//static  void LLInvFVBridgeAction::doAction(LLAssetType::EType asset_type,  								   const LLUUID& uuid,LLInventoryModel* model)  { @@ -4782,7 +4782,7 @@ void LLInvFVBridgeAction::doAction(LLAssetType::EType asset_type,  	}  } -//static  +//static  void LLInvFVBridgeAction::doAction(const LLUUID& uuid, LLInventoryModel* model)  {  	LLAssetType::EType asset_type = model->getItem(uuid)->getType(); @@ -4801,8 +4801,8 @@ LLViewerInventoryItem* LLInvFVBridgeAction::getItem() const  	return NULL;  } -//virtual  -void	LLTextureBridgeAction::doIt()  +//virtual +void	LLTextureBridgeAction::doIt()  {  	if (getItem())  	{ @@ -4813,20 +4813,20 @@ void	LLTextureBridgeAction::doIt()  }  //virtual -void	LLSoundBridgeAction::doIt()  +void	LLSoundBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if(item)  	{  		LLFloaterReg::showInstance("preview_sound", LLSD(mUUID), TAKE_FOCUS_YES);  	} -	 +  	LLInvFVBridgeAction::doIt();  } -//virtual  -void	LLLandmarkBridgeAction::doIt()  +//virtual +void	LLLandmarkBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if( item ) @@ -4842,8 +4842,8 @@ void	LLLandmarkBridgeAction::doIt()  } -//virtual  -void	LLCallingCardBridgeAction::doIt()  +//virtual +void	LLCallingCardBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if(item && item->getCreatorUUID().notNull()) @@ -4854,9 +4854,9 @@ void	LLCallingCardBridgeAction::doIt()  	LLInvFVBridgeAction::doIt();  } -//virtual  -void	 -LLNotecardBridgeAction::doIt()  +//virtual +void +LLNotecardBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if (item) @@ -4867,8 +4867,8 @@ LLNotecardBridgeAction::doIt()  	LLInvFVBridgeAction::doIt();  } -//virtual  -void	LLGestureBridgeAction::doIt()  +//virtual +void	LLGestureBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if (item) @@ -4880,8 +4880,8 @@ void	LLGestureBridgeAction::doIt()  	LLInvFVBridgeAction::doIt();  } -//virtual  -void	LLAnimationBridgeAction::doIt()  +//virtual +void	LLAnimationBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if (item) @@ -4893,7 +4893,7 @@ void	LLAnimationBridgeAction::doIt()  } -//virtual  +//virtual  void	LLObjectBridgeAction::doIt()  {  	LLFloaterReg::showInstance("properties", mUUID); @@ -4902,8 +4902,8 @@ void	LLObjectBridgeAction::doIt()  } -//virtual  -void	LLLSLTextBridgeAction::doIt()  +//virtual +void	LLLSLTextBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if (item) @@ -4933,7 +4933,7 @@ void LLWearableBridgeAction::wearOnAvatar()  {  	// Don't wear anything until initial wearables are loaded, can  	// destroy clothing items. -	if (!gAgentWearables.areWearablesLoaded())  +	if (!gAgentWearables.areWearablesLoaded())  	{  		LLNotifications::instance().add("CanNotChangeAppearanceUntilLoaded");  		return; @@ -4960,7 +4960,7 @@ void LLWearableBridgeAction::wearOnAvatar()  	}  } -//virtual  +//virtual  void LLWearableBridgeAction::doIt()  {  	if(isInTrash()) @@ -5036,7 +5036,7 @@ void LLLinkItemBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  		items.push_back(std::string("Restore Item"));  	}  	else -	{	 +	{  		items.push_back(std::string("Delete"));  		if (!isItemRemovable())  		{ @@ -5086,7 +5086,7 @@ void LLLinkFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  		items.push_back(std::string("Restore Item"));  	}  	else -	{	 +	{  		items.push_back(std::string("Goto Link"));  		items.push_back(std::string("Delete"));  		if (!isItemRemovable()) diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp index ca7ebb1ad8..4c552ee815 100644 --- a/indra/newview/llpanelprimmediacontrols.cpp +++ b/indra/newview/llpanelprimmediacontrols.cpp @@ -127,7 +127,7 @@ BOOL LLPanelPrimMediaControls::postBuild()  	scroll_left_ctrl->setMouseUpCallback(onScrollStop, this);  	LLButton* scroll_right_ctrl = getChild<LLButton>("scrollright");  	scroll_right_ctrl->setClickedCallback(onScrollRight, this); -	scroll_right_ctrl->setHeldDownCallback(onScrollLeftHeld, this); +	scroll_right_ctrl->setHeldDownCallback(onScrollRightHeld, this);  	scroll_right_ctrl->setMouseUpCallback(onScrollStop, this);  	LLButton* scroll_down_ctrl = getChild<LLButton>("scrolldown");  	scroll_down_ctrl->setClickedCallback(onScrollDown, this); @@ -291,7 +291,7 @@ void LLPanelPrimMediaControls::updateShape()  		// Disable zoom if HUD  		zoom_ctrl->setEnabled(!objectp->isHUDAttachment());  		secure_lock_icon->setVisible(false); -		mCurrentURL = media_impl->getMediaURL(); +		mCurrentURL = media_impl->getCurrentMediaURL();  		back_ctrl->setEnabled((media_impl != NULL) && media_impl->canNavigateBack() && can_navigate);  		fwd_ctrl->setEnabled((media_impl != NULL) && media_impl->canNavigateForward() && can_navigate); @@ -472,7 +472,7 @@ void LLPanelPrimMediaControls::updateShape()  			}  		} -		if(media_plugin) +		if(media_impl)  		{  			//  			// Handle Scrolling @@ -480,16 +480,18 @@ void LLPanelPrimMediaControls::updateShape()  			switch (mScrollState)   			{  			case SCROLL_UP: -				media_plugin->scrollEvent(0, -1, MASK_NONE); +				media_impl->scrollWheel(0, -1, MASK_NONE);  				break;  			case SCROLL_DOWN: -				media_plugin->scrollEvent(0, 1, MASK_NONE); +				media_impl->scrollWheel(0, 1, MASK_NONE);  				break;  			case SCROLL_LEFT: -				media_impl->handleKeyHere(KEY_LEFT, MASK_NONE); +				media_impl->scrollWheel(1, 0, MASK_NONE); +//				media_impl->handleKeyHere(KEY_LEFT, MASK_NONE);  				break;  			case SCROLL_RIGHT: -				media_impl->handleKeyHere(KEY_RIGHT, MASK_NONE); +				media_impl->scrollWheel(-1, 0, MASK_NONE); +//				media_impl->handleKeyHere(KEY_RIGHT, MASK_NONE);  				break;  			case SCROLL_NONE:  			default: @@ -758,20 +760,10 @@ void LLPanelPrimMediaControls::onClickHome()  void LLPanelPrimMediaControls::onClickOpen()  { -	LLViewerMediaImpl* impl =getTargetMediaImpl(); +	LLViewerMediaImpl* impl = getTargetMediaImpl();  	if(impl)  	{ -		if(impl->getMediaPlugin()) -		{	 -			if(impl->getMediaPlugin()->getLocation().empty()) -			{ -				LLWeb::loadURL(impl->getMediaURL()); -			} -			else -			{ -				LLWeb::loadURL( impl->getMediaPlugin()->getLocation()); -			} -		} +		LLWeb::loadURL(impl->getCurrentMediaURL());  	}	  } @@ -895,11 +887,11 @@ void LLPanelPrimMediaControls::onScrollUp(void* user_data)  	LLPanelPrimMediaControls* this_panel = static_cast<LLPanelPrimMediaControls*> (user_data);  	this_panel->focusOnTarget(); -	LLPluginClassMedia* plugin = this_panel->getTargetMediaPlugin(); +	LLViewerMediaImpl* impl = this_panel->getTargetMediaImpl(); -	if(plugin) +	if(impl)  	{ -		plugin->scrollEvent(0, -1, MASK_NONE); +		impl->scrollWheel(0, -1, MASK_NONE);  	}  }  void LLPanelPrimMediaControls::onScrollUpHeld(void* user_data) @@ -916,7 +908,8 @@ void LLPanelPrimMediaControls::onScrollRight(void* user_data)  	if(impl)  	{ -		impl->handleKeyHere(KEY_RIGHT, MASK_NONE); +		impl->scrollWheel(-1, 0, MASK_NONE); +//		impl->handleKeyHere(KEY_RIGHT, MASK_NONE);  	}  }  void LLPanelPrimMediaControls::onScrollRightHeld(void* user_data) @@ -934,7 +927,8 @@ void LLPanelPrimMediaControls::onScrollLeft(void* user_data)  	if(impl)  	{ -		impl->handleKeyHere(KEY_LEFT, MASK_NONE); +		impl->scrollWheel(1, 0, MASK_NONE); +//		impl->handleKeyHere(KEY_LEFT, MASK_NONE);  	}  }  void LLPanelPrimMediaControls::onScrollLeftHeld(void* user_data) @@ -948,11 +942,11 @@ void LLPanelPrimMediaControls::onScrollDown(void* user_data)  	LLPanelPrimMediaControls* this_panel = static_cast<LLPanelPrimMediaControls*> (user_data);  	this_panel->focusOnTarget(); -	LLPluginClassMedia* plugin = this_panel->getTargetMediaPlugin(); +	LLViewerMediaImpl* impl = this_panel->getTargetMediaImpl(); -	if(plugin) +	if(impl)  	{ -		plugin->scrollEvent(0, 1, MASK_NONE); +		impl->scrollWheel(0, 1, MASK_NONE);  	}  }  void LLPanelPrimMediaControls::onScrollDownHeld(void* user_data) @@ -1000,6 +994,7 @@ void LLPanelPrimMediaControls::onInputURL(LLFocusableElement* caller, void *user  void LLPanelPrimMediaControls::setCurrentURL()  {	 +#ifdef USE_COMBO_BOX_FOR_MEDIA_URL  	LLComboBox* media_address_combo	= getChild<LLComboBox>("media_address_combo");  	// redirects will navigate momentarily to about:blank, don't add to history  	if (media_address_combo && mCurrentURL != "about:blank") @@ -1008,6 +1003,13 @@ void LLPanelPrimMediaControls::setCurrentURL()  		media_address_combo->add(mCurrentURL, ADD_SORTED);  		media_address_combo->selectByValue(mCurrentURL);  	} +#else   // USE_COMBO_BOX_FOR_MEDIA_URL +	LLLineEditor* media_address_url = getChild<LLLineEditor>("media_address_url"); +	if (media_address_url && mCurrentURL != "about:blank") +	{ +		media_address_url->setValue(mCurrentURL); +	} +#endif	// USE_COMBO_BOX_FOR_MEDIA_URL  }  void LLPanelPrimMediaControls::onCommitSlider() diff --git a/indra/newview/lltexlayerparams.cpp b/indra/newview/lltexlayerparams.cpp index e1643af71d..74e0fa077e 100644 --- a/indra/newview/lltexlayerparams.cpp +++ b/indra/newview/lltexlayerparams.cpp @@ -42,8 +42,7 @@  //-----------------------------------------------------------------------------  LLTexLayerParam::LLTexLayerParam(LLTexLayerInterface *layer) :  	mTexLayer(layer), -	mAvatar(NULL), -	mIsWearableParam(TRUE) +	mAvatar(NULL)  {  	if (mTexLayer != NULL)  	{ @@ -56,8 +55,7 @@ LLTexLayerParam::LLTexLayerParam(LLTexLayerInterface *layer) :  }  LLTexLayerParam::LLTexLayerParam(LLVOAvatar *avatar) : -	mTexLayer(NULL), -	mIsWearableParam(FALSE) +	mTexLayer(NULL)  {  	mAvatar = avatar;  } @@ -177,7 +175,7 @@ void LLTexLayerParamAlpha::setWeight(F32 weight, BOOL set_by_user)  	{  		mCurWeight = new_weight; -		if ((mAvatar->getSex() & getSex()) && !mIsWearableParam) // only trigger a baked texture update if we're changing a wearable's visual param. +		if ((mAvatar->getSex() & getSex()) && (mAvatar->isSelf() && !mIsDummy)) // only trigger a baked texture update if we're changing a wearable's visual param.  		{  			if (gAgent.cameraCustomizeAvatar())  			{ @@ -192,6 +190,13 @@ void LLTexLayerParamAlpha::setWeight(F32 weight, BOOL set_by_user)  void LLTexLayerParamAlpha::setAnimationTarget(F32 target_value, BOOL set_by_user)  {  +	// do not animate dummy parameters +	if (mIsDummy) +	{ +		setWeight(target_value, set_by_user); +		return; +	} +  	mTargetWeight = target_value;   	setWeight(target_value, set_by_user);   	mIsAnimating = TRUE; @@ -468,7 +473,7 @@ void LLTexLayerParamColor::setWeight(F32 weight, BOOL set_by_user)  			return;  		} -		if ((mAvatar->getSex() & getSex()) && !mIsWearableParam) // only trigger a baked texture update if we're changing a wearable's visual param. +		if ((mAvatar->getSex() & getSex()) && (mAvatar->isSelf() && !mIsDummy)) // only trigger a baked texture update if we're changing a wearable's visual param.  		{  			onGlobalColorChanged(set_by_user);  			if (mTexLayer) diff --git a/indra/newview/lltexlayerparams.h b/indra/newview/lltexlayerparams.h index dcb108bbf6..98365864f9 100644 --- a/indra/newview/lltexlayerparams.h +++ b/indra/newview/lltexlayerparams.h @@ -49,7 +49,6 @@ public:  protected:  	LLTexLayerInterface*	mTexLayer;  	LLVOAvatar*             mAvatar; -	BOOL					mIsWearableParam;  };  //----------------------------------------------------------------------------- diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index b5aec1b80b..4940d9b5bb 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -458,7 +458,7 @@ BOOL LLFloaterTexturePicker::postBuild()  // virtual  void LLFloaterTexturePicker::draw()  { -	static LLUICachedControl<S32> floater_header_size ("UIFloaterHeaderSize", 0); +	S32 floater_header_size = getHeaderHeight();  	if (mOwner)  	{  		// draw cone of context pointing back to texture swatch	 diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 8bd74dcb04..e2d9f5a2c9 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1023,6 +1023,16 @@ bool LLViewerMediaImpl::hasFocus() const  	return mHasFocus;  } +std::string LLViewerMediaImpl::getCurrentMediaURL() +{ +	if(!mCurrentMediaURL.empty()) +	{ +		return mCurrentMediaURL; +	} +	 +	return mMediaURL; +} +  //////////////////////////////////////////////////////////////////////////////////////////  void LLViewerMediaImpl::mouseDown(S32 x, S32 y, MASK mask, S32 button)  { @@ -1109,6 +1119,18 @@ void LLViewerMediaImpl::mouseDoubleClick(S32 x, S32 y, MASK mask, S32 button)  }  ////////////////////////////////////////////////////////////////////////////////////////// +void LLViewerMediaImpl::scrollWheel(S32 x, S32 y, MASK mask) +{ +	scaleMouse(&x, &y); +	mLastMouseX = x; +	mLastMouseY = y; +	if (mMediaSource) +	{ +		mMediaSource->scrollEvent(x, y, mask); +	} +} + +//////////////////////////////////////////////////////////////////////////////////////////  void LLViewerMediaImpl::onMouseCaptureLost()  {  	if (mMediaSource) @@ -1181,7 +1203,7 @@ void LLViewerMediaImpl::navigateForward()  //////////////////////////////////////////////////////////////////////////////////////////  void LLViewerMediaImpl::navigateReload()  { -	navigateTo(mMediaURL, "", true, false); +	navigateTo(getCurrentMediaURL(), "", true, false);  }  ////////////////////////////////////////////////////////////////////////////////////////// @@ -1203,6 +1225,9 @@ void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mi  	mMediaURL = url;  	mMimeType = mime_type; +	// Clear the current media URL, since it will no longer be correct. +	mCurrentMediaURL.clear(); +	  	// if mime type discovery was requested, we'll need to do it when the media loads  	mNavigateRediscoverType = rediscover_type; @@ -1702,10 +1727,12 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla  			if(getNavState() == MEDIANAVSTATE_BEGUN)  			{ +				mCurrentMediaURL = plugin->getNavigateURI();  				setNavState(MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED);  			}  			else if(getNavState() == MEDIANAVSTATE_SERVER_BEGUN)  			{ +				mCurrentMediaURL = plugin->getNavigateURI();  				setNavState(MEDIANAVSTATE_SERVER_COMPLETE_BEFORE_LOCATION_CHANGED);  			}  			else @@ -1721,10 +1748,12 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla  			if(getNavState() == MEDIANAVSTATE_BEGUN)  			{ +				mCurrentMediaURL = plugin->getLocation();  				setNavState(MEDIANAVSTATE_FIRST_LOCATION_CHANGED);  			}  			else if(getNavState() == MEDIANAVSTATE_SERVER_BEGUN)  			{ +				mCurrentMediaURL = plugin->getLocation();  				setNavState(MEDIANAVSTATE_SERVER_FIRST_LOCATION_CHANGED);  			}  			else diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h index 4f0d39dd80..5444abf854 100644 --- a/indra/newview/llviewermedia.h +++ b/indra/newview/llviewermedia.h @@ -145,6 +145,7 @@ public:  	void mouseUp(const LLVector2& texture_coords, MASK mask, S32 button = 0);  	void mouseMove(const LLVector2& texture_coords, MASK mask);  	void mouseDoubleClick(S32 x,S32 y, MASK mask, S32 button = 0); +	void scrollWheel(S32 x, S32 y, MASK mask);  	void mouseCapture();  	void navigateBack(); @@ -159,6 +160,7 @@ public:  	bool canNavigateForward();  	bool canNavigateBack();  	std::string getMediaURL() { return mMediaURL; } +	std::string getCurrentMediaURL();  	std::string getHomeURL() { return mHomeURL; }      void setHomeURL(const std::string& home_url) { mHomeURL = home_url; };  	std::string getMimeType() { return mMimeType; } @@ -272,9 +274,10 @@ public:  	LLPluginClassMedia* mMediaSource;  	LLUUID mTextureId;  	bool  mMovieImageHasMips; -	std::string mMediaURL; +	std::string mMediaURL;			// The last media url set with NavigateTo  	std::string mHomeURL;  	std::string mMimeType; +	std::string mCurrentMediaURL;	// The most current media url from the plugin (via the "location changed" or "navigate complete" events).  	S32 mLastMouseX;	// save the last mouse coord we get, so when we lose capture we can simulate a mouseup at that point.  	S32 mLastMouseY;  	S32 mMediaWidth; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index f9c95afc31..4bf66ba17e 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -2448,28 +2448,20 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()  		}  		else  		{ -			F32 blend_frac = calc_bouncy_animation(appearance_anim_time / APPEARANCE_MORPH_TIME); -			F32 last_blend_frac = calc_bouncy_animation(mLastAppearanceBlendTime / APPEARANCE_MORPH_TIME); -			F32 morph_amt; -			if (last_blend_frac == 1.f) -			{ -				morph_amt = 1.f; -			} -			else -			{ -				morph_amt = (blend_frac - last_blend_frac) / (1.f - last_blend_frac); -			} - +			F32 morph_amt = calcMorphAmount();  			LLVisualParam *param; -			// animate only top level params -			for (param = getFirstVisualParam(); -				 param; -				 param = getNextVisualParam()) +			if (!isSelf())  			{ -				if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) +				// animate only top level params for non-self avatars +				for (param = getFirstVisualParam(); +					 param; +					 param = getNextVisualParam())  				{ -					param->animate(morph_amt, mAppearanceAnimSetByUser); +					if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) +					{ +						param->animate(morph_amt, mAppearanceAnimSetByUser); +					}  				}  			} @@ -2487,6 +2479,25 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()  	}  } +F32 LLVOAvatar::calcMorphAmount() +{ +	F32 appearance_anim_time = mAppearanceMorphTimer.getElapsedTimeF32(); +	F32 blend_frac = calc_bouncy_animation(appearance_anim_time / APPEARANCE_MORPH_TIME); +	F32 last_blend_frac = calc_bouncy_animation(mLastAppearanceBlendTime / APPEARANCE_MORPH_TIME); + +	F32 morph_amt; +	if (last_blend_frac == 1.f) +	{ +		morph_amt = 1.f; +	} +	else +	{ +		morph_amt = (blend_frac - last_blend_frac) / (1.f - last_blend_frac); +	} + +	return morph_amt; +} +  void LLVOAvatar::idleUpdateLipSync(bool voice_enabled)  {  	// Use the Lipsync_Ooh and Lipsync_Aah morphs for lip sync diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index e3add8aa78..f7c794defe 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -205,7 +205,7 @@ public:  	virtual BOOL 	updateCharacter(LLAgent &agent);  	void 			idleUpdateVoiceVisualizer(bool voice_enabled);  	void 			idleUpdateMisc(bool detailed_update); -	void 			idleUpdateAppearanceAnimation(); +	virtual void	idleUpdateAppearanceAnimation();  	void 			idleUpdateLipSync(bool voice_enabled);  	void 			idleUpdateLoadingEffect();  	void 			idleUpdateWindEffect(); @@ -250,6 +250,7 @@ protected:  	virtual BOOL	updateIsFullyLoaded();  	BOOL			processFullyLoadedChange(bool loading);  	void			updateRuthTimer(bool loading); +	F32 			calcMorphAmount();  private:  	BOOL			mFullyLoaded;  	BOOL			mPreviousFullyLoaded; @@ -276,7 +277,7 @@ public:  protected:  	static BOOL			parseSkeletonFile(const std::string& filename);  	void				buildCharacter(); -	BOOL				loadAvatar(); +	virtual BOOL		loadAvatar();  	BOOL				setupBone(const LLVOAvatarBoneInfo* info, LLViewerJoint* parent, S32 ¤t_volume_num, S32 ¤t_joint_num);  	BOOL				buildSkeleton(const LLVOAvatarSkeletonInfo *info); diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 4760d5a472..758db538a2 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -193,6 +193,25 @@ void LLVOAvatarSelf::markDead()  	LLVOAvatar::markDead();  } +/*virtual*/ BOOL LLVOAvatarSelf::loadAvatar() +{ +	BOOL success = LLVOAvatar::loadAvatar(); + +	// set all parameters sotred directly in the avatar to have +	// the isSelfParam to be TRUE - this is used to prevent +	// them from being animated or trigger accidental rebakes +	// when we copy params from the wearable to the base avatar. +	for (LLViewerVisualParam* param = (LLViewerVisualParam*) getFirstVisualParam();  +		 param; +		 param = (LLViewerVisualParam*) getNextVisualParam()) +	{ +		param->setIsDummy(TRUE); +	} + +	return success; +} + +  BOOL LLVOAvatarSelf::loadAvatarSelf()  {  	BOOL success = TRUE; @@ -704,16 +723,23 @@ void LLVOAvatarSelf::updateVisualParams()  		}  	} -	LLWearable *shape = gAgentWearables.getWearable(WT_SHAPE,0); -	if (shape) -	{ -		F32 gender = shape->getVisualParamWeight(80); // param 80 == gender -		setVisualParamWeight("male",gender ,TRUE); -	} -  	LLVOAvatar::updateVisualParams();  } +/*virtual*/ +void LLVOAvatarSelf::idleUpdateAppearanceAnimation() +{ +	// Animate all top-level wearable visual parameters +	gAgentWearables.animateAllWearableParams(calcMorphAmount(), mAppearanceAnimSetByUser); + +	// apply wearable visual params to avatar +	updateVisualParams(); + +	//allow avatar to process updates +	LLVOAvatar::idleUpdateAppearanceAnimation(); + +} +  // virtual  void LLVOAvatarSelf::requestStopMotion(LLMotion* motion)  { diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index a555d04a63..6e52b33634 100644 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -57,6 +57,7 @@ public:  	virtual void			markDead();  	virtual void 		initInstance(); // Called after construction to initialize the class.  protected: +	/*virtual*/ BOOL		loadAvatar();  	BOOL					loadAvatarSelf();  	BOOL					buildSkeletonSelf(const LLVOAvatarSkeletonInfo *info);  	BOOL					buildMenus(); @@ -89,6 +90,7 @@ public:  	/*virtual*/ BOOL setVisualParamWeight(const char* param_name, F32 weight, BOOL set_by_user = FALSE );  	/*virtual*/ BOOL setVisualParamWeight(S32 index, F32 weight, BOOL set_by_user = FALSE );  	/*virtual*/ void updateVisualParams(); +	/*virtual*/ void idleUpdateAppearanceAnimation();  private:  	// helper function. Passed in param is assumed to be in avatar's parameter list. diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp index a091028ec2..4cd29bb838 100644 --- a/indra/newview/llwearable.cpp +++ b/indra/newview/llwearable.cpp @@ -185,7 +185,9 @@ void LLWearable::createVisualParams()  			{  				delete mVisualParamIndexMap[param->getID()];  			} -			mVisualParamIndexMap[param->getID()] = param->cloneParam(this); +			LLViewerVisualParam *new_param = param->cloneParam(this); +			new_param->setIsDummy(FALSE); +			mVisualParamIndexMap[param->getID()] = new_param;  		}  	} @@ -668,21 +670,7 @@ void LLWearable::writeToAvatar( BOOL set_by_user, BOOL update_customize_floater  	if( gFloaterCustomize && update_customize_floater )  	{ -		LLViewerInventoryItem* item; -		// MULTI_WEARABLE: -		item = (LLViewerInventoryItem*)gInventory.getItem(gAgentWearables.getWearableItemID(mType,0)); -		U32 perm_mask = PERM_NONE; -		BOOL is_complete = FALSE; -		if(item) -		{ -			perm_mask = item->getPermissions().getMaskOwner(); -			is_complete = item->isComplete(); -			if(!is_complete) -			{ -				item->fetchFromServer(); -			} -		} -		gFloaterCustomize->setWearable(mType, this, perm_mask, is_complete); +		gFloaterCustomize->setWearable(mType, 0);  		gFloaterCustomize->setCurrentWearableType( mType );  	} @@ -935,6 +923,17 @@ void LLWearable::getVisualParams(visual_param_vec_t &list)  	}  } +void LLWearable::animateParams(F32 delta, BOOL set_by_user) +{ +	for(visual_param_index_map_t::iterator iter = mVisualParamIndexMap.begin(); +		 iter != mVisualParamIndexMap.end(); +		 ++iter) +	{ +		LLVisualParam *param = (LLVisualParam*) iter->second; +		param->animate(delta, set_by_user); +	} +} +  LLColor4 LLWearable::getClothesColor(S32 te) const  {  	LLColor4 color; diff --git a/indra/newview/llwearable.h b/indra/newview/llwearable.h index 01bd9652a5..96631811c5 100644 --- a/indra/newview/llwearable.h +++ b/indra/newview/llwearable.h @@ -119,6 +119,7 @@ public:  	F32					getVisualParamWeight(S32 index) const;  	LLVisualParam*		getVisualParam(S32 index) const;  	void				getVisualParams(visual_param_vec_t &list); +	void				animateParams(F32 delta, BOOL set_by_user);  	LLColor4			getClothesColor(S32 te) const;  	void 				setClothesColor( S32 te, const LLColor4& new_color, BOOL set_by_user ); diff --git a/indra/newview/skins/default/textures/map_avatar_8.tga b/indra/newview/skins/default/textures/map_avatar_8.tgaBinary files differ index 47c8cbed6f..28552f2237 100644 --- a/indra/newview/skins/default/textures/map_avatar_8.tga +++ b/indra/newview/skins/default/textures/map_avatar_8.tga diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index d3366cdcaa..401f32c908 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -7,7 +7,7 @@    <texture name="Accordion_Off" file_name="containers/Accordion_Off.png" preload="false" />    <texture name="Accordion_Press" file_name="containers/Accordion_Press.png" preload="false" /> - <texture name="Activate_Checkmark" file_name="taskpanel/Activate_Checkmark.png" preload="false" /> +<texture name="Activate_Checkmark" file_name="taskpanel/Activate_Checkmark.png" preload="false" />    <texture name="AddItem_Disabled" file_name="icons/AddItem_Disabled.png" preload="false" />    <texture name="AddItem_Off" file_name="icons/AddItem_Off.png" preload="false" /> @@ -54,11 +54,6 @@    <texture name="CameraView_Off" file_name="bottomtray/CameraView_Off.png" preload="false" />    <texture name="CameraView_Over" file_name="bottomtray/CameraView_Over.png" preload="false" /> -  <texture name="CameraPreset_Rear" file_name="camera_presets/camera_presets_rear.png" preload="false" /> -  <texture name="CameraPreset_3_4" file_name="camera_presets/camera_presets_3_4.png" preload="false" /> -  <texture name="CameraPreset_Front" file_name="camera_presets/camera_presets_front.png" preload="false" /> -  <texture name="CameraPreset_Mouselook" file_name="camera_presets/camera_presets_mouselook.png" preload="false" /> -    <texture name="Checkbox_Off_Disabled" file_name="widgets/Checkbox_Disabled.png" preload="true" />    <texture name="Checkbox_On_Disabled" file_name="widgets/Checkbox_On_Disabled.png" preload="true" />    <texture name="Checkbox_Off" file_name="widgets/Checkbox_Off.png" preload="true" /> @@ -93,7 +88,7 @@    <texture name="Favorite_Star_Press" file_name="navbar/Favorite_Star_Press.png" preload="false" />    <texture name="Favorite_Star_Over" file_name="navbar/Favorite_Star_Over.png" preload="false" /> -  <texture name="FileMenu_BarSelect" file_name="navbar/FileMenu_BarSelect.png" preload="false" /> +  <texture name="FileMenu_BarSelect" file_name="navbar/FileMenu_BarSelect.png" preload="false" scale.left="2" scale.top="0" scale.right="2" scale.bottom="0" />    <texture name="FileMenu_BG" file_name="navbar/FileMenu_BG.png" preload="false" />    <texture name="ForwardArrow_Off" file_name="icons/ForwardArrow_Off.png" preload="false" /> @@ -101,7 +96,6 @@    <texture name="Generic_Group" file_name="icons/Generic_Group.png" preload="false" />    <texture name="Generic_Group_Large" file_name="icons/Generic_Group_Large.png" preload="false" /> -  <texture name="Generic_Object" file_name="icons/Generic_Object.png" preload="false" />    <texture name="Generic_Person" file_name="icons/Generic_Person.png" preload="false" />    <texture name="Generic_Person_Large" file_name="icons/Generic_Person_Large.png" preload="false" /> @@ -147,10 +141,12 @@    <texture name="Info_Over" file_name="icons/Info_Over.png" preload="false" />    <texture name="Info_Press" file_name="navbar/Info_Press.png" preload="false" /> -  <texture name="Inspector_Background" file_name="windows/Inspector_Background.png" preload="false" /> +  <texture name="Inspector_Background" file_name="windows/Inspector_Background.png" preload="false" +           scale.left="4" scale.top="28" scale.right="60" scale.bottom="4" />    <texture name="Inspector_Hover" file_name="windows/Inspector_Hover.png" preload="false" />    <texture name="Inv_Acessories" file_name="icons/Inv_Accessories.png" preload="false" /> +  <texture name="Inv_Alpha" file_name="icons/Inv_Alpha.png" preload="false" />    <texture name="Inv_Animation" file_name="icons/Inv_Animation.png" preload="false" />    <texture name="Inv_BodyShape" file_name="icons/Inv_BodyShape.png" preload="false" />    <texture name="Inv_CallingCard" file_name="icons/Inv_CallingCard.png" preload="false" /> @@ -175,6 +171,7 @@    <texture name="Inv_Snapshot" file_name="icons/Inv_Snapshot.png" preload="false" />    <texture name="Inv_Socks" file_name="icons/Inv_Socks.png" preload="false" />    <texture name="Inv_Sound" file_name="icons/Inv_Sound.png" preload="false" /> +  <texture name="Inv_Tattoo" file_name="icons/Inv_Tattoo.png" preload="false" />    <texture name="Inv_Texture" file_name="icons/Inv_Texture.png" preload="false" />    <texture name="Inv_Trash" file_name="icons/Inv_Trash.png" preload="false" />    <texture name="Inv_Underpants" file_name="icons/Inv_Underpants.png" preload="false" /> @@ -228,9 +225,6 @@    <texture name="NearbyVoice_Lvl3" file_name="bottomtray/NearbyVoice_Lvl3.png" preload="false" />    <texture name="NearbyVoice_On" file_name="bottomtray/NearbyVoice_On.png" preload="false" /> -  <texture name="NoEntryLines" file_name="world/NoEntryLines.png" use_mips="true" preload="false" /> -  <texture name="NoEntryPassLines" file_name="world/NoEntryPassLines.png" use_mips="true" preload="false" /> -    <texture name="Object_Cone" file_name="build/Object_Cone.png" preload="false" />    <texture name="Object_Cube" file_name="build/Object_Cube.png" preload="false" />    <texture name="Object_Cylinder" file_name="build/Object_Cylinder.png" preload="false" /> @@ -258,42 +252,6 @@    <texture name="Overhead_M" file_name="world/Overhead_M.png" preload="false" />    <texture name="Overhead_S" file_name="world/Overhead_S.png" preload="false" /> -  <texture name="parcel_drk_Build" file_name="icons/parcel_drk_Build.png" preload="false" /> -  <texture name="parcel_drk_BuildNo" file_name="icons/parcel_drk_BuildNo.png" preload="false" /> -  <texture name="parcel_drk_Damage" file_name="icons/parcel_drk_Damage.png" preload="false" /> -  <texture name="parcel_drk_DamageNo" file_name="icons/parcel_drk_DamageNo.png" preload="false" /> -  <texture name="parcel_drk_Fly" file_name="icons/parcel_drk_Fly.png" preload="false" /> -  <texture name="parcel_drk_FlyNo" file_name="icons/parcel_drk_FlyNo.png" preload="false" /> -  <texture name="parcel_drk_ForSale" file_name="icons/parcel_drk_ForSale.png" preload="false" /> -  <texture name="parcel_drk_ForSaleNo" file_name="icons/parcel_drk_ForSaleNo.png" preload="false" /> -  <texture name="parcel_drk_M" file_name="icons/parcel_drk_M.png" preload="false" /> -  <texture name="parcel_drk_PG" file_name="icons/parcel_drk_PG.png" preload="false" /> -  <texture name="parcel_drk_Push" file_name="icons/parcel_drk_Push.png" preload="false" /> -  <texture name="parcel_drk_PushNo" file_name="icons/parcel_drk_PushNo.png" preload="false" /> -  <texture name="parcel_drk_R" file_name="icons/parcel_drk_R.png" preload="false" /> -  <texture name="parcel_drk_Scripts" file_name="icons/parcel_drk_Scripts.png" preload="false" /> -  <texture name="parcel_drk_ScriptsNo" file_name="icons/parcel_drk_ScriptsNo.png" preload="false" /> -  <texture name="parcel_drk_Voice" file_name="icons/parcel_drk_Voice.png" preload="false" /> -  <texture name="parcel_drk_VoiceNo" file_name="icons/parcel_drk_VoiceNo.png" preload="false" /> - -  <texture name="parcel_lght_Build" file_name="icons/parcel_lght_Build.png" preload="false" /> -  <texture name="parcel_lght_BuildNo" file_name="icons/parcel_lght_BuildNo.png" preload="false" /> -  <texture name="parcel_lght_Damage" file_name="icons/parcel_lght_Damage.png" preload="false" /> -  <texture name="parcel_lght_DamageNo" file_name="icons/parcel_lght_DamageNo.png" preload="false" /> -  <texture name="parcel_lght_Fly" file_name="icons/parcel_lght_Fly.png" preload="false" /> -  <texture name="parcel_lght_FlyNo" file_name="icons/parcel_lght_FlyNo.png" preload="false" /> -  <texture name="parcel_lght_ForSale" file_name="icons/parcel_lght_ForSale.png" preload="false" /> -  <texture name="parcel_lght_ForSaleNo" file_name="icons/parcel_lght_ForSaleNo.png" preload="false" /> -  <texture name="parcel_lght_M" file_name="icons/parcel_lght_M.png" preload="false" /> -  <texture name="parcel_lght_PG" file_name="icons/parcel_lght_PG.png" preload="false" /> -  <texture name="parcel_lght_Push" file_name="icons/parcel_lght_Push.png" preload="false" /> -  <texture name="parcel_lght_PushNo" file_name="icons/parcel_lght_PushNo.png" preload="false" /> -  <texture name="parcel_lght_R" file_name="icons/parcel_lght_R.png" preload="false" /> -  <texture name="parcel_lght_Scripts" file_name="icons/parcel_lght_Scripts.png" preload="false" /> -  <texture name="parcel_lght_ScriptsNo" file_name="icons/parcel_lght_ScriptsNo.png" preload="false" /> -  <texture name="parcel_lght_Voice" file_name="icons/parcel_lght_Voice.png" preload="false" /> -  <texture name="parcel_lght_VoiceNo" file_name="icons/parcel_lght_VoiceNo.png" preload="false" /> -    <texture name="Progress_1" file_name="icons/Progress_1.png" preload="false" />    <texture name="Progress_2" file_name="icons/Progress_2.png" preload="false" />    <texture name="Progress_3" file_name="icons/Progress_3.png" preload="false" /> @@ -437,7 +395,8 @@    <texture name="TextField_Active" file_name="widgets/TextField_Active.png" preload="true" scale.left="9" scale.top="12" scale.right="248" scale.bottom="12" />    <texture name="Toast_CloseBtn" file_name="windows/Toast_CloseBtn.png" preload="true" /> -  <texture name="Toast" file_name="windows/Toast.png" preload="true" /> +  <texture name="Toast_Background" file_name="windows/Toast_Background.png" preload="true" +           scale.left="4" scale.top="28" scale.right="60" scale.bottom="4" />    <texture name="Tool_Create" file_name="build/Tool_Create.png" preload="false" />    <texture name="Tool_Dozer" file_name="build/Tool_Dozer.png" preload="false" /> @@ -472,18 +431,17 @@    <texture name="Widget_DownArrow" file_name="icons/Widget_DownArrow.png" preload="true" />    <texture name="Widget_UpArrow" file_name="icons/Widget_UpArrow.png" preload="true" /> -  <texture name="Window_Background" file_name="windows/Window_Background.png" preload="true" /> -  <texture name="Window_Foreground" file_name="windows/Window_Foreground.png" preload="true" /> - - - - +  <texture name="Window_Background" file_name="windows/Window_Background.png" preload="true"  +           scale.left="4" scale.top="24" scale.right="26" scale.bottom="4" /> +  <texture name="Window_Foreground" file_name="windows/Window_Foreground.png" preload="true"  +           scale.left="4" scale.top="24" scale.right="26" scale.bottom="4" /> +  <texture name="Window_NoTitle_Background" file_name="windows/Window_NoTitle_Background.png" preload="true" +           scale.left="4" scale.top="24" scale.right="26" scale.bottom="4" /> +  <texture name="Window_NoTitle_Foreground" file_name="windows/Window_NoTitle_Foreground.png" preload="true" +           scale.left="4" scale.top="24" scale.right="26" scale.bottom="4" />    <!--WARNING OLD ART *do not use*--> -  <texture name="Banner_ForSale" file_name="Banner_ForSale.png" preload="false" /> -  <texture name="Banner_YouAreHere" file_name="Banner_YouAreHere.png" preload="false" /> -    <texture name="btn_chatbar.tga" scale.left="20" scale.top="24" scale.right="44" scale.bottom="0" />    <texture name="btn_chatbar_selected.tga" scale.left="20" scale.top="24" scale.right="44" scale.bottom="0" /> @@ -601,6 +559,54 @@    <texture name="icon_popular.tga" />    <texture name="icon_top_pick.tga" /> +  <texture name="inv_folder_animation.tga" /> +  <texture name="inv_folder_bodypart.tga" /> +  <texture name="inv_folder_callingcard.tga" /> +  <texture name="inv_folder_clothing.tga" /> +  <texture name="inv_folder_current_outfit.tga" /> +  <texture name="inv_folder_gesture.tga" /> +  <texture name="inv_folder_landmark.tga" /> +  <texture name="inv_folder_lostandfound.tga" /> +  <texture name="inv_folder_my_outfits.tga" /> +  <texture name="inv_folder_notecard.tga" /> +  <texture name="inv_folder_object.tga" /> +  <texture name="inv_folder_outfit.tga" /> +  <texture name="inv_folder_plain_closed.tga" /> +  <texture name="inv_folder_script.tga" /> +  <texture name="inv_folder_snapshot.tga" /> +  <texture name="inv_folder_sound.tga" /> +  <texture name="inv_folder_texture.tga" /> +  <texture name="inv_folder_trash.tga" /> + +  <texture name="inv_item_animation.tga" /> +  <texture name="inv_item_skin.tga" /> +  <texture name="inv_item_callingcard_offline.tga" /> +  <texture name="inv_item_callingcard_online.tga" /> +  <texture name="inv_item_eyes.tga" /> +  <texture name="inv_item_gesture.tga" /> +  <texture name="inv_item_gloves.tga" /> +  <texture name="inv_item_hair.tga" /> +  <texture name="inv_item_jacket.tga" /> +  <texture name="inv_item_landmark.tga" /> +  <texture name="inv_item_landmark_visited.tga" /> +  <texture name="inv_item_linkitem.tga" /> +  <texture name="inv_item_linkfolder.tga" /> +  <texture name="inv_item_notecard.tga" /> +  <texture name="inv_item_object.tga" /> +  <texture name="inv_item_object_multi.tga" /> +  <texture name="inv_item_pants.tga" /> +  <texture name="inv_item_script.tga" /> +  <texture name="inv_item_shape.tga" /> +  <texture name="inv_item_shirt.tga" /> +  <texture name="inv_item_shoes.tga" /> +  <texture name="inv_item_skirt.tga" /> +  <texture name="inv_item_snapshot.tga" /> +  <texture name="inv_item_socks.tga" /> +  <texture name="inv_item_sound.tga" /> +  <texture name="inv_item_texture.tga" /> +  <texture name="inv_item_underpants.tga" /> +  <texture name="inv_item_undershirt.tga" /> +    <texture name="lag_status_critical.tga" />    <texture name="lag_status_good.tga" />    <texture name="lag_status_warning.tga" /> @@ -619,12 +625,45 @@    <texture name="media_icon.tga" file_name="icn_label_media.tga" />    <texture name="music_icon.tga" file_name="icn_label_music.tga" /> +  <texture name="NoEntryLines" file_name="world/NoEntryLines.png" use_mips="true" preload="false" /> +  <texture name="NoEntryPassLines" file_name="world/NoEntryPassLines.png" use_mips="true" preload="false" />    <texture name="notify_tip_icon.tga" />    <texture name="notify_caution_icon.tga" />    <texture name="notify_next.png" preload="true" />    <texture name="notify_box_icon.tga" /> +  <texture name="object_cone.tga" /> +  <texture name="object_cone_active.tga" /> +  <texture name="object_cube.tga" /> +  <texture name="object_cube_active.tga" /> +  <texture name="object_cylinder.tga" /> +  <texture name="object_cylinder_active.tga" /> +  <texture name="object_grass.tga" /> +  <texture name="object_grass_active.tga" /> +  <texture name="object_hemi_cone.tga" /> +  <texture name="object_hemi_cone_active.tga" /> +  <texture name="object_hemi_cylinder.tga" /> +  <texture name="object_hemi_cylinder_active.tga" /> +  <texture name="object_hemi_sphere.tga" /> +  <texture name="object_hemi_sphere_active.tga" /> +  <texture name="object_prism.tga" /> +  <texture name="object_prism_active.tga" /> +  <texture name="object_pyramid.tga" /> +  <texture name="object_pyramid_active.tga" /> +  <texture name="object_ring.tga" /> +  <texture name="object_ring_active.tga" /> +  <texture name="object_sphere.tga" /> +  <texture name="object_sphere_active.tga" /> +  <texture name="object_tetrahedron.tga" /> +  <texture name="object_tetrahedron_active.tga" /> +  <texture name="object_torus.tga" /> +  <texture name="object_torus_active.tga" /> +  <texture name="object_tree.tga" /> +  <texture name="object_tree_active.tga" /> +  <texture name="object_tube.tga" /> +  <texture name="object_tube_active.tga" /> +    <texture name="pixiesmall.j2c" use_mips="true" />    <texture name="script_error.j2c" use_mips="true" />    <texture name="silhouette.j2c" use_mips="true" /> @@ -640,6 +679,11 @@    <texture name="status_no_push.tga" />    <texture name="status_no_scripts.tga" /> +  <texture name="tool_dozer.tga" /> +  <texture name="tool_dozer_active.tga" /> +  <texture name="tool_zoom.tga" /> +  <texture name="tool_zoom_active.tga" /> +    <texture name="icn_active-speakers-dot-lvl0.tga" />    <texture name="icn_active-speakers-dot-lvl1.tga" />    <texture name="icn_active-speakers-dot-lvl2.tga" /> diff --git a/indra/newview/skins/default/textures/windows/Inspector_Background.png b/indra/newview/skins/default/textures/windows/Inspector_Background.pngBinary files differ index 807e8e553c..4c2a728ac5 100644 --- a/indra/newview/skins/default/textures/windows/Inspector_Background.png +++ b/indra/newview/skins/default/textures/windows/Inspector_Background.png diff --git a/indra/newview/skins/default/textures/windows/Toast_Background.png b/indra/newview/skins/default/textures/windows/Toast_Background.pngBinary files differ new file mode 100644 index 0000000000..f27d1a12ec --- /dev/null +++ b/indra/newview/skins/default/textures/windows/Toast_Background.png diff --git a/indra/newview/skins/default/textures/windows/Window_Background.png b/indra/newview/skins/default/textures/windows/Window_Background.pngBinary files differ index e9f15e76b9..db253900af 100644 --- a/indra/newview/skins/default/textures/windows/Window_Background.png +++ b/indra/newview/skins/default/textures/windows/Window_Background.png diff --git a/indra/newview/skins/default/textures/windows/Window_Foreground.png b/indra/newview/skins/default/textures/windows/Window_Foreground.pngBinary files differ index e76e9f3c79..b81ec5b43c 100644 --- a/indra/newview/skins/default/textures/windows/Window_Foreground.png +++ b/indra/newview/skins/default/textures/windows/Window_Foreground.png diff --git a/indra/newview/skins/default/textures/windows/Window_NoTitle_Background.png b/indra/newview/skins/default/textures/windows/Window_NoTitle_Background.pngBinary files differ new file mode 100644 index 0000000000..a570ac06bd --- /dev/null +++ b/indra/newview/skins/default/textures/windows/Window_NoTitle_Background.png diff --git a/indra/newview/skins/default/textures/windows/Window_NoTitle_Foreground.png b/indra/newview/skins/default/textures/windows/Window_NoTitle_Foreground.pngBinary files differ new file mode 100644 index 0000000000..d573e8c69a --- /dev/null +++ b/indra/newview/skins/default/textures/windows/Window_NoTitle_Foreground.png diff --git a/indra/newview/skins/default/xui/en/floater_aaa.xml b/indra/newview/skins/default/xui/en/floater_aaa.xml index 6d64d13db7..3789369e74 100644 --- a/indra/newview/skins/default/xui/en/floater_aaa.xml +++ b/indra/newview/skins/default/xui/en/floater_aaa.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="440"   layout="topleft"   name="floater_aaa" diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index 5cd11ba292..02c6ed1b20 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="440"   layout="topleft"   name="floater_about" diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index aa0b4094b4..c245f877c7 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_tear_off="false"   height="420"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_activeim.xml b/indra/newview/skins/default/xui/en/floater_activeim.xml index f81250e7b9..1bc9cde044 100644 --- a/indra/newview/skins/default/xui/en/floater_activeim.xml +++ b/indra/newview/skins/default/xui/en/floater_activeim.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"  	name="floater_activeim"  	help_topic="floater_activeim"  	title="ACTIVE IM" diff --git a/indra/newview/skins/default/xui/en/floater_animation_preview.xml b/indra/newview/skins/default/xui/en/floater_animation_preview.xml index 11773c34dc..ab3d5722f0 100644 --- a/indra/newview/skins/default/xui/en/floater_animation_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_animation_preview.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="556"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_auction.xml b/indra/newview/skins/default/xui/en/floater_auction.xml index fb0994b4cd..aae6508041 100644 --- a/indra/newview/skins/default/xui/en/floater_auction.xml +++ b/indra/newview/skins/default/xui/en/floater_auction.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="412"   layout="topleft" 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 0542d4509e..d20566b08a 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="350"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_avatar_textures.xml b/indra/newview/skins/default/xui/en/floater_avatar_textures.xml index e677426ee5..4f2a36e518 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar_textures.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar_textures.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="950"   layout="topleft"   name="avatar_texture_debug" diff --git a/indra/newview/skins/default/xui/en/floater_beacons.xml b/indra/newview/skins/default/xui/en/floater_beacons.xml index a60064fb37..1c83799e72 100644 --- a/indra/newview/skins/default/xui/en/floater_beacons.xml +++ b/indra/newview/skins/default/xui/en/floater_beacons.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="225"   layout="topleft"   name="beacons" diff --git a/indra/newview/skins/default/xui/en/floater_build_options.xml b/indra/newview/skins/default/xui/en/floater_build_options.xml index 3e6845cfa5..bddbbdd3b2 100644 --- a/indra/newview/skins/default/xui/en/floater_build_options.xml +++ b/indra/newview/skins/default/xui/en/floater_build_options.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   follows="right"   height="170"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_bulk_perms.xml b/indra/newview/skins/default/xui/en/floater_bulk_perms.xml index ef6af28786..02958bee74 100644 --- a/indra/newview/skins/default/xui/en/floater_bulk_perms.xml +++ b/indra/newview/skins/default/xui/en/floater_bulk_perms.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_tear_off="false"   height="310"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_bumps.xml b/indra/newview/skins/default/xui/en/floater_bumps.xml index d1f6706875..2917096f3c 100644 --- a/indra/newview/skins/default/xui/en/floater_bumps.xml +++ b/indra/newview/skins/default/xui/en/floater_bumps.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="180"   layout="topleft"   name="floater_bumps" diff --git a/indra/newview/skins/default/xui/en/floater_buy_contents.xml b/indra/newview/skins/default/xui/en/floater_buy_contents.xml index 718f83c9a2..aacc3ad8d0 100644 --- a/indra/newview/skins/default/xui/en/floater_buy_contents.xml +++ b/indra/newview/skins/default/xui/en/floater_buy_contents.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="290"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_buy_currency.xml b/indra/newview/skins/default/xui/en/floater_buy_currency.xml index 9b0b56d9cf..26d5d4bedf 100644 --- a/indra/newview/skins/default/xui/en/floater_buy_currency.xml +++ b/indra/newview/skins/default/xui/en/floater_buy_currency.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>  <floater + legacy_header_height="18"   can_minimize="false"   height="275"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_buy_land.xml b/indra/newview/skins/default/xui/en/floater_buy_land.xml index 6d1c2c1cb9..8314549132 100644 --- a/indra/newview/skins/default/xui/en/floater_buy_land.xml +++ b/indra/newview/skins/default/xui/en/floater_buy_land.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="484"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_buy_object.xml b/indra/newview/skins/default/xui/en/floater_buy_object.xml index 7930622e54..49ea3f5dd1 100644 --- a/indra/newview/skins/default/xui/en/floater_buy_object.xml +++ b/indra/newview/skins/default/xui/en/floater_buy_object.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="290"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index a713cc32a0..1b69418013 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_dock="true"   can_minimize="false"   can_close="true" diff --git a/indra/newview/skins/default/xui/en/floater_choose_group.xml b/indra/newview/skins/default/xui/en/floater_choose_group.xml index 371e239fdb..8b34fda96c 100644 --- a/indra/newview/skins/default/xui/en/floater_choose_group.xml +++ b/indra/newview/skins/default/xui/en/floater_choose_group.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="258"   layout="topleft"   name="groups" diff --git a/indra/newview/skins/default/xui/en/floater_color_picker.xml b/indra/newview/skins/default/xui/en/floater_color_picker.xml index f2146339a7..686b8dc40f 100644 --- a/indra/newview/skins/default/xui/en/floater_color_picker.xml +++ b/indra/newview/skins/default/xui/en/floater_color_picker.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   follows="left|top"   height="380" diff --git a/indra/newview/skins/default/xui/en/floater_critical.xml b/indra/newview/skins/default/xui/en/floater_critical.xml index 5475a1cf6a..7b5451553f 100644 --- a/indra/newview/skins/default/xui/en/floater_critical.xml +++ b/indra/newview/skins/default/xui/en/floater_critical.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_close="false"   can_minimize="false"   height="500" diff --git a/indra/newview/skins/default/xui/en/floater_customize.xml b/indra/newview/skins/default/xui/en/floater_customize.xml index 57f5800f2c..07d76f4810 100644 --- a/indra/newview/skins/default/xui/en/floater_customize.xml +++ b/indra/newview/skins/default/xui/en/floater_customize.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   follows="left|top"   height="540" diff --git a/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml index b044cd41e6..b8fa104352 100644 --- a/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml +++ b/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="275"   layout="topleft"   name="Day Cycle Floater" diff --git a/indra/newview/skins/default/xui/en/floater_device_settings.xml b/indra/newview/skins/default/xui/en/floater_device_settings.xml index 8901608374..2b23980423 100644 --- a/indra/newview/skins/default/xui/en/floater_device_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_device_settings.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="260"   layout="topleft"   name="floater_device_settings" diff --git a/indra/newview/skins/default/xui/en/floater_env_settings.xml b/indra/newview/skins/default/xui/en/floater_env_settings.xml index cecd6c4ef7..7c22311f66 100644 --- a/indra/newview/skins/default/xui/en/floater_env_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_env_settings.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="150"   layout="topleft"   name="Environment Editor Floater" diff --git a/indra/newview/skins/default/xui/en/floater_first_time_tip.xml b/indra/newview/skins/default/xui/en/floater_first_time_tip.xml index 4975111111..e4ac8fed77 100644 --- a/indra/newview/skins/default/xui/en/floater_first_time_tip.xml +++ b/indra/newview/skins/default/xui/en/floater_first_time_tip.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_close="true"   can_minimize="false"   height="250" diff --git a/indra/newview/skins/default/xui/en/floater_font_test.xml b/indra/newview/skins/default/xui/en/floater_font_test.xml index 66c207603b..8b14f691d6 100644 --- a/indra/newview/skins/default/xui/en/floater_font_test.xml +++ b/indra/newview/skins/default/xui/en/floater_font_test.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="800"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_gesture.xml b/indra/newview/skins/default/xui/en/floater_gesture.xml index 7346c81e79..128d518e12 100644 --- a/indra/newview/skins/default/xui/en/floater_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_gesture.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="465"   name="gestures" diff --git a/indra/newview/skins/default/xui/en/floater_god_tools.xml b/indra/newview/skins/default/xui/en/floater_god_tools.xml index 02754b25dd..97cb6e259c 100644 --- a/indra/newview/skins/default/xui/en/floater_god_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_god_tools.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="384"   layout="topleft"   name="godtools floater" diff --git a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml index fe04d1f627..cd98f21918 100644 --- a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="224"   layout="topleft"   name="Hardware Settings Floater" @@ -131,7 +132,7 @@       layout="topleft"       left="10"       max_val="4096" -     name="GrapicsCardTextureMemory" +     name="GraphicsCardTextureMemory"       tool_tip="Amount of memory to allocate for textures. Defaults to video card memory. Reducing this may improve performance but may also make textures blurry."       top_pad="10"       width="300" /> diff --git a/indra/newview/skins/default/xui/en/floater_help_browser.xml b/indra/newview/skins/default/xui/en/floater_help_browser.xml index 512b4c85a1..d2fe8d0e6d 100644 --- a/indra/newview/skins/default/xui/en/floater_help_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_help_browser.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_hud.xml b/indra/newview/skins/default/xui/en/floater_hud.xml index 23e0ef50fd..6e8950c49a 100644 --- a/indra/newview/skins/default/xui/en/floater_hud.xml +++ b/indra/newview/skins/default/xui/en/floater_hud.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="292"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 0037c6ef04..d9c3ff77d9 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   background_visible="true"   follows="left|top|right|bottom"   height="250" diff --git a/indra/newview/skins/default/xui/en/floater_image_preview.xml b/indra/newview/skins/default/xui/en/floater_image_preview.xml index 4e4fe97e62..2562daf4b3 100644 --- a/indra/newview/skins/default/xui/en/floater_image_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_image_preview.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="440"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_incoming_call.xml b/indra/newview/skins/default/xui/en/floater_incoming_call.xml index 95e4247a05..dcb93c6e2f 100644 --- a/indra/newview/skins/default/xui/en/floater_incoming_call.xml +++ b/indra/newview/skins/default/xui/en/floater_incoming_call.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_close="false"   can_minimize="false"   can_tear_off="false" diff --git a/indra/newview/skins/default/xui/en/floater_inspect.xml b/indra/newview/skins/default/xui/en/floater_inspect.xml index 339604e658..9f7723c51b 100644 --- a/indra/newview/skins/default/xui/en/floater_inspect.xml +++ b/indra/newview/skins/default/xui/en/floater_inspect.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="300"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_inventory.xml b/indra/newview/skins/default/xui/en/floater_inventory.xml index 0f06558dd1..2011635790 100644 --- a/indra/newview/skins/default/xui/en/floater_inventory.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   can_resize="true"   height="563" diff --git a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml index e3e2decef7..4f0609c7f8 100644 --- a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   height="340"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml index 6556a14730..0042f97a8e 100644 --- a/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="408"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_joystick.xml b/indra/newview/skins/default/xui/en/floater_joystick.xml index c0bcfd2271..e2da059ace 100644 --- a/indra/newview/skins/default/xui/en/floater_joystick.xml +++ b/indra/newview/skins/default/xui/en/floater_joystick.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="500"   layout="topleft"   name="Joystick" diff --git a/indra/newview/skins/default/xui/en/floater_lagmeter.xml b/indra/newview/skins/default/xui/en/floater_lagmeter.xml index 2966b47232..d98fdc5118 100644 --- a/indra/newview/skins/default/xui/en/floater_lagmeter.xml +++ b/indra/newview/skins/default/xui/en/floater_lagmeter.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="150"   layout="topleft"   name="floater_lagmeter" diff --git a/indra/newview/skins/default/xui/en/floater_land_holdings.xml b/indra/newview/skins/default/xui/en/floater_land_holdings.xml index dbafa56035..46d74b6aff 100644 --- a/indra/newview/skins/default/xui/en/floater_land_holdings.xml +++ b/indra/newview/skins/default/xui/en/floater_land_holdings.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="400"   layout="topleft"   name="land holdings floater" diff --git a/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml index dc6c8302a0..93bbb0107e 100644 --- a/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml +++ b/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   bevel_style="none"   border_style="line"   can_resize="true" diff --git a/indra/newview/skins/default/xui/en/floater_lsl_guide.xml b/indra/newview/skins/default/xui/en/floater_lsl_guide.xml index fd2ee6ce5c..4dcf168605 100644 --- a/indra/newview/skins/default/xui/en/floater_lsl_guide.xml +++ b/indra/newview/skins/default/xui/en/floater_lsl_guide.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   follows="left|top"   height="400" diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml index a2b2e1ddf3..7b4c5f38a1 100644 --- a/indra/newview/skins/default/xui/en/floater_map.xml +++ b/indra/newview/skins/default/xui/en/floater_map.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   follows="top|right"   height="225" diff --git a/indra/newview/skins/default/xui/en/floater_media_browser.xml b/indra/newview/skins/default/xui/en/floater_media_browser.xml index ad2c50c6d9..b11892be74 100644 --- a/indra/newview/skins/default/xui/en/floater_media_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_media_browser.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="440"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_media_settings.xml b/indra/newview/skins/default/xui/en/floater_media_settings.xml index b96573b32a..4218c15408 100644 --- a/indra/newview/skins/default/xui/en/floater_media_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_media_settings.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater  +<floater + legacy_header_height="18"   bottom="-666"    can_close="true"    can_drag_on_left="false"  diff --git a/indra/newview/skins/default/xui/en/floater_mem_leaking.xml b/indra/newview/skins/default/xui/en/floater_mem_leaking.xml index bd83da02aa..560acafd4f 100644 --- a/indra/newview/skins/default/xui/en/floater_mem_leaking.xml +++ b/indra/newview/skins/default/xui/en/floater_mem_leaking.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   follows="left|top"   height="175" diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index 745385f153..01a1b95a9a 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_dock="true"   can_close="true"   can_minimize="true" diff --git a/indra/newview/skins/default/xui/en/floater_mute_object.xml b/indra/newview/skins/default/xui/en/floater_mute_object.xml index 06a03ff340..33b1dac8a5 100644 --- a/indra/newview/skins/default/xui/en/floater_mute_object.xml +++ b/indra/newview/skins/default/xui/en/floater_mute_object.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="130"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_my_friends.xml b/indra/newview/skins/default/xui/en/floater_my_friends.xml index 0ca4fc825a..689221b9c7 100644 --- a/indra/newview/skins/default/xui/en/floater_my_friends.xml +++ b/indra/newview/skins/default/xui/en/floater_my_friends.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_close="false"   can_resize="true"   height="390" diff --git a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml index d24d1b7064..65dd4e74ff 100644 --- a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml +++ b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater  +<floater + legacy_header_height="18"   can_minimize="true"   can_tear_off="false"   can_resize="false" diff --git a/indra/newview/skins/default/xui/en/floater_notification.xml b/indra/newview/skins/default/xui/en/floater_notification.xml index cd88ec2f3f..f9cb22055a 100644 --- a/indra/newview/skins/default/xui/en/floater_notification.xml +++ b/indra/newview/skins/default/xui/en/floater_notification.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="200"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_notifications_console.xml b/indra/newview/skins/default/xui/en/floater_notifications_console.xml index 3783417cdb..03a2aad96d 100644 --- a/indra/newview/skins/default/xui/en/floater_notifications_console.xml +++ b/indra/newview/skins/default/xui/en/floater_notifications_console.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="500"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_openobject.xml b/indra/newview/skins/default/xui/en/floater_openobject.xml index 17f7e9bf67..cc50f43339 100644 --- a/indra/newview/skins/default/xui/en/floater_openobject.xml +++ b/indra/newview/skins/default/xui/en/floater_openobject.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   default_tab_group="1"   height="350" diff --git a/indra/newview/skins/default/xui/en/floater_pay.xml b/indra/newview/skins/default/xui/en/floater_pay.xml index 69525d48d2..b4becfa022 100644 --- a/indra/newview/skins/default/xui/en/floater_pay.xml +++ b/indra/newview/skins/default/xui/en/floater_pay.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="185"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_pay_object.xml b/indra/newview/skins/default/xui/en/floater_pay_object.xml index acff55386b..8d230023cc 100644 --- a/indra/newview/skins/default/xui/en/floater_pay_object.xml +++ b/indra/newview/skins/default/xui/en/floater_pay_object.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="220"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_perm_prefs.xml b/indra/newview/skins/default/xui/en/floater_perm_prefs.xml index f65bb6f32f..eb0c22b9c4 100644 --- a/indra/newview/skins/default/xui/en/floater_perm_prefs.xml +++ b/indra/newview/skins/default/xui/en/floater_perm_prefs.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="180"   layout="topleft"   name="perm prefs" diff --git a/indra/newview/skins/default/xui/en/floater_post_process.xml b/indra/newview/skins/default/xui/en/floater_post_process.xml index 571f4149f0..46554beede 100644 --- a/indra/newview/skins/default/xui/en/floater_post_process.xml +++ b/indra/newview/skins/default/xui/en/floater_post_process.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="400"   layout="topleft"   name="Post-Process Floater" diff --git a/indra/newview/skins/default/xui/en/floater_postcard.xml b/indra/newview/skins/default/xui/en/floater_postcard.xml index d93cad6dbd..b13bd1740c 100644 --- a/indra/newview/skins/default/xui/en/floater_postcard.xml +++ b/indra/newview/skins/default/xui/en/floater_postcard.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   can_minimize="false"   can_resize="true" diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml index 90a77b22b6..d2a2a7ce02 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   center_horiz="true"   center_vert="true"   default_tab_group="1" diff --git a/indra/newview/skins/default/xui/en/floater_preview_animation.xml b/indra/newview/skins/default/xui/en/floater_preview_animation.xml index e34b87dbba..3b84358484 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_animation.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_animation.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   height="85"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_preview_classified.xml b/indra/newview/skins/default/xui/en/floater_preview_classified.xml index 07167c3ae4..7c8c6d7207 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_classified.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_classified.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   height="510"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_preview_event.xml b/indra/newview/skins/default/xui/en/floater_preview_event.xml index 77fbe7c060..f5ab8c95d7 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_event.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_event.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   height="510"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml index 11c4e5d8fb..4f3978a5e3 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   height="460"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml index 43e4f8a348..fc838f27b4 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   follows="left|top"   height="155" diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml index 606ae1a82a..b489ae2e77 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   follows="left|top"   height="90" diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml index 4b4f611b59..8a07f3ad1e 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   follows="left|top"   height="155" diff --git a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml index d2b8455eab..3797055054 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   can_resize="true"   default_tab_group="1" diff --git a/indra/newview/skins/default/xui/en/floater_preview_sound.xml b/indra/newview/skins/default/xui/en/floater_preview_sound.xml index 7a868a1fe9..95347f0dff 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_sound.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_sound.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   height="85"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_preview_texture.xml b/indra/newview/skins/default/xui/en/floater_preview_texture.xml index 32f71da61a..e7abfb075a 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_texture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_texture.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   can_resize="true"   follows="left|bottom" diff --git a/indra/newview/skins/default/xui/en/floater_region_info.xml b/indra/newview/skins/default/xui/en/floater_region_info.xml index 3fadc15616..ae01d0bdf4 100644 --- a/indra/newview/skins/default/xui/en/floater_region_info.xml +++ b/indra/newview/skins/default/xui/en/floater_region_info.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="512"   help_topic="regioninfo"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_report_abuse.xml b/indra/newview/skins/default/xui/en/floater_report_abuse.xml index 884532c7a3..88f09b521c 100644 --- a/indra/newview/skins/default/xui/en/floater_report_abuse.xml +++ b/indra/newview/skins/default/xui/en/floater_report_abuse.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="580"   layout="topleft"   name="floater_report_abuse" diff --git a/indra/newview/skins/default/xui/en/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/en/floater_script_debug_panel.xml index 2085b74a55..0029fcb09b 100644 --- a/indra/newview/skins/default/xui/en/floater_script_debug_panel.xml +++ b/indra/newview/skins/default/xui/en/floater_script_debug_panel.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   follows="left|top|right|bottom"   height="200" diff --git a/indra/newview/skins/default/xui/en/floater_script_preview.xml b/indra/newview/skins/default/xui/en/floater_script_preview.xml index a415239867..c29a2f4516 100644 --- a/indra/newview/skins/default/xui/en/floater_script_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_script_preview.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   can_resize="true"   height="550" diff --git a/indra/newview/skins/default/xui/en/floater_script_queue.xml b/indra/newview/skins/default/xui/en/floater_script_queue.xml index 467dcfae20..8a44252426 100644 --- a/indra/newview/skins/default/xui/en/floater_script_queue.xml +++ b/indra/newview/skins/default/xui/en/floater_script_queue.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   auto_tile="true"   can_resize="true"   height="400" diff --git a/indra/newview/skins/default/xui/en/floater_script_search.xml b/indra/newview/skins/default/xui/en/floater_script_search.xml index 545abc39a2..79c4438dd6 100644 --- a/indra/newview/skins/default/xui/en/floater_script_search.xml +++ b/indra/newview/skins/default/xui/en/floater_script_search.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   default_tab_group="1"   height="120"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_search.xml b/indra/newview/skins/default/xui/en/floater_search.xml index 296cde92e3..2f4d7c50a1 100644 --- a/indra/newview/skins/default/xui/en/floater_search.xml +++ b/indra/newview/skins/default/xui/en/floater_search.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_select_key.xml b/indra/newview/skins/default/xui/en/floater_select_key.xml index b89af0ef3e..31d133ff9b 100644 --- a/indra/newview/skins/default/xui/en/floater_select_key.xml +++ b/indra/newview/skins/default/xui/en/floater_select_key.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   border="true"   can_close="false"   can_minimize="false" diff --git a/indra/newview/skins/default/xui/en/floater_sell_land.xml b/indra/newview/skins/default/xui/en/floater_sell_land.xml index 652ed96192..8fedd0a89f 100644 --- a/indra/newview/skins/default/xui/en/floater_sell_land.xml +++ b/indra/newview/skins/default/xui/en/floater_sell_land.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="450"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_settings_debug.xml b/indra/newview/skins/default/xui/en/floater_settings_debug.xml index b7779687ec..02b3cee97c 100644 --- a/indra/newview/skins/default/xui/en/floater_settings_debug.xml +++ b/indra/newview/skins/default/xui/en/floater_settings_debug.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="215"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml index 551f570b52..4f2be37ade 100644 --- a/indra/newview/skins/default/xui/en/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   follows="left|top"   height="526" diff --git a/indra/newview/skins/default/xui/en/floater_sound_preview.xml b/indra/newview/skins/default/xui/en/floater_sound_preview.xml index 3b1eae9293..6145b722f1 100644 --- a/indra/newview/skins/default/xui/en/floater_sound_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_sound_preview.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="190"   layout="topleft"   name="Sound Preview" diff --git a/indra/newview/skins/default/xui/en/floater_statistics.xml b/indra/newview/skins/default/xui/en/floater_statistics.xml index 653bc942e5..ab783b0735 100644 --- a/indra/newview/skins/default/xui/en/floater_statistics.xml +++ b/indra/newview/skins/default/xui/en/floater_statistics.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   follows="right|top"   height="392" diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index 205e6efe70..bdc2874281 100644 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   follows="top|right"   height="400" diff --git a/indra/newview/skins/default/xui/en/floater_sys_well.xml b/indra/newview/skins/default/xui/en/floater_sys_well.xml index aef5707fd4..e1f07a49e7 100644 --- a/indra/newview/skins/default/xui/en/floater_sys_well.xml +++ b/indra/newview/skins/default/xui/en/floater_sys_well.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater  +<floater + legacy_header_height="18"   bevel_style="in"   left="0"   top="0"  diff --git a/indra/newview/skins/default/xui/en/floater_telehub.xml b/indra/newview/skins/default/xui/en/floater_telehub.xml index 95de27e0ea..faf1a378f2 100644 --- a/indra/newview/skins/default/xui/en/floater_telehub.xml +++ b/indra/newview/skins/default/xui/en/floater_telehub.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="250"   layout="topleft"   name="telehub" diff --git a/indra/newview/skins/default/xui/en/floater_test_button.xml b/indra/newview/skins/default/xui/en/floater_test_button.xml index ce17873a67..89a1ddda99 100644 --- a/indra/newview/skins/default/xui/en/floater_test_button.xml +++ b/indra/newview/skins/default/xui/en/floater_test_button.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="500"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_checkbox.xml b/indra/newview/skins/default/xui/en/floater_test_checkbox.xml index 66a5b9267d..9977e85a9d 100644 --- a/indra/newview/skins/default/xui/en/floater_test_checkbox.xml +++ b/indra/newview/skins/default/xui/en/floater_test_checkbox.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_combobox.xml b/indra/newview/skins/default/xui/en/floater_test_combobox.xml index 956d5669b8..317d8f5ba8 100644 --- a/indra/newview/skins/default/xui/en/floater_test_combobox.xml +++ b/indra/newview/skins/default/xui/en/floater_test_combobox.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_inspectors.xml b/indra/newview/skins/default/xui/en/floater_test_inspectors.xml index ce20b03919..c954607ffe 100644 --- a/indra/newview/skins/default/xui/en/floater_test_inspectors.xml +++ b/indra/newview/skins/default/xui/en/floater_test_inspectors.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="false"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_layout.xml b/indra/newview/skins/default/xui/en/floater_test_layout.xml index 209859bb29..c6acb7c96e 100644 --- a/indra/newview/skins/default/xui/en/floater_test_layout.xml +++ b/indra/newview/skins/default/xui/en/floater_test_layout.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="500"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_line_editor.xml b/indra/newview/skins/default/xui/en/floater_test_line_editor.xml index 251ca4c9bf..e017d404c6 100644 --- a/indra/newview/skins/default/xui/en/floater_test_line_editor.xml +++ b/indra/newview/skins/default/xui/en/floater_test_line_editor.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_list_view.xml b/indra/newview/skins/default/xui/en/floater_test_list_view.xml index 98d6d5bda7..1d2086d9bc 100644 --- a/indra/newview/skins/default/xui/en/floater_test_list_view.xml +++ b/indra/newview/skins/default/xui/en/floater_test_list_view.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_navigation_bar.xml b/indra/newview/skins/default/xui/en/floater_test_navigation_bar.xml index dd551b6d51..c6b4cca6b9 100644 --- a/indra/newview/skins/default/xui/en/floater_test_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_navigation_bar.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="200"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_radiogroup.xml b/indra/newview/skins/default/xui/en/floater_test_radiogroup.xml index 35190c0e1a..7ef2d97cdc 100644 --- a/indra/newview/skins/default/xui/en/floater_test_radiogroup.xml +++ b/indra/newview/skins/default/xui/en/floater_test_radiogroup.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_slider.xml b/indra/newview/skins/default/xui/en/floater_test_slider.xml index 3545f88df7..57d8e686ce 100644 --- a/indra/newview/skins/default/xui/en/floater_test_slider.xml +++ b/indra/newview/skins/default/xui/en/floater_test_slider.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_spinner.xml b/indra/newview/skins/default/xui/en/floater_test_spinner.xml index c4e5bc9e99..3c44a4884d 100644 --- a/indra/newview/skins/default/xui/en/floater_test_spinner.xml +++ b/indra/newview/skins/default/xui/en/floater_test_spinner.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_textbox.xml b/indra/newview/skins/default/xui/en/floater_test_textbox.xml index c33ab8aa70..f39d27761c 100644 --- a/indra/newview/skins/default/xui/en/floater_test_textbox.xml +++ b/indra/newview/skins/default/xui/en/floater_test_textbox.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="400"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_test_widgets.xml b/indra/newview/skins/default/xui/en/floater_test_widgets.xml index cc0fc34dd5..12d7e18762 100644 --- a/indra/newview/skins/default/xui/en/floater_test_widgets.xml +++ b/indra/newview/skins/default/xui/en/floater_test_widgets.xml @@ -15,6 +15,7 @@      Otherwise specify location with left and top attributes.  -->  <floater + legacy_header_height="18"   can_dock="true"    can_resize="true"   title="Test Floater" diff --git a/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml index f2b701b88d..0a1f6e0e29 100644 --- a/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml +++ b/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   can_resize="true"   height="290" diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index acf7f57d0b..e6ac39e40b 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -1,8 +1,11 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   follows="left|top|right"   height="570"   layout="topleft" + bg_opaque_image="Window_NoTitle_Foreground"  + bg_alpha_image="Window_NoTitle_Background"    name="toolbox floater"   help_topic="toolbox_floater"   save_rect="true" diff --git a/indra/newview/skins/default/xui/en/floater_top_objects.xml b/indra/newview/skins/default/xui/en/floater_top_objects.xml index 07ffc204f9..2f53422d51 100644 --- a/indra/newview/skins/default/xui/en/floater_top_objects.xml +++ b/indra/newview/skins/default/xui/en/floater_top_objects.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="350"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_tos.xml b/indra/newview/skins/default/xui/en/floater_tos.xml index 54facbb659..4e2cce1428 100644 --- a/indra/newview/skins/default/xui/en/floater_tos.xml +++ b/indra/newview/skins/default/xui/en/floater_tos.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_close="false"   can_minimize="false"   height="500" diff --git a/indra/newview/skins/default/xui/en/floater_ui_preview.xml b/indra/newview/skins/default/xui/en/floater_ui_preview.xml index acd770cd38..380e51977f 100644 --- a/indra/newview/skins/default/xui/en/floater_ui_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_ui_preview.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   height="640"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_url_entry.xml b/indra/newview/skins/default/xui/en/floater_url_entry.xml index 6c1fb65bdd..1ab42cb140 100644 --- a/indra/newview/skins/default/xui/en/floater_url_entry.xml +++ b/indra/newview/skins/default/xui/en/floater_url_entry.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="87"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_water.xml b/indra/newview/skins/default/xui/en/floater_water.xml index a860b1038c..9c55e8ea16 100644 --- a/indra/newview/skins/default/xui/en/floater_water.xml +++ b/indra/newview/skins/default/xui/en/floater_water.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="240"   layout="topleft"   name="Water Floater" diff --git a/indra/newview/skins/default/xui/en/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/en/floater_wearable_save_as.xml index ee67989d33..9a95e3dfef 100644 --- a/indra/newview/skins/default/xui/en/floater_wearable_save_as.xml +++ b/indra/newview/skins/default/xui/en/floater_wearable_save_as.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   border="true"   can_close="false"   can_minimize="false" diff --git a/indra/newview/skins/default/xui/en/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/en/floater_whitelist_entry.xml index 4f501b65f3..ef68d03a45 100644 --- a/indra/newview/skins/default/xui/en/floater_whitelist_entry.xml +++ b/indra/newview/skins/default/xui/en/floater_whitelist_entry.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_minimize="false"   height="108"   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_windlight_options.xml b/indra/newview/skins/default/xui/en/floater_windlight_options.xml index 2b3bc5f11a..0ea769921f 100644 --- a/indra/newview/skins/default/xui/en/floater_windlight_options.xml +++ b/indra/newview/skins/default/xui/en/floater_windlight_options.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   height="220"   layout="topleft"   name="WindLight floater" diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml index f37c0e9022..93755fa253 100644 --- a/indra/newview/skins/default/xui/en/floater_world_map.xml +++ b/indra/newview/skins/default/xui/en/floater_world_map.xml @@ -1,5 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater + legacy_header_height="18"   can_resize="true"   center_horiz="true"   center_vert="true" diff --git a/indra/newview/skins/default/xui/en/inspect_avatar.xml b/indra/newview/skins/default/xui/en/inspect_avatar.xml index 181c80ebc7..6b13e2f1c7 100644 --- a/indra/newview/skins/default/xui/en/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/en/inspect_avatar.xml @@ -4,8 +4,9 @@    Single instance - only have one at a time, recycle it each spawn  -->  <floater + legacy_header_height="18"   bevel_style="in" - bg_opaque_color="MouseGray" + bg_opaque_image="Inspector_Background"    can_close="false"   can_minimize="false"   height="138" diff --git a/indra/newview/skins/default/xui/en/inspect_group.xml b/indra/newview/skins/default/xui/en/inspect_group.xml index 5b166e83b8..db12daa6e0 100644 --- a/indra/newview/skins/default/xui/en/inspect_group.xml +++ b/indra/newview/skins/default/xui/en/inspect_group.xml @@ -4,8 +4,9 @@    Single instance - only have one at a time, recycle it each spawn  -->  <floater + legacy_header_height="18"   bevel_style="in" - bg_opaque_color="MouseGray" + bg_opaque_image="Inspector_Background"    can_close="false"   can_minimize="false"   height="138" diff --git a/indra/newview/skins/default/xui/en/inspect_object.xml b/indra/newview/skins/default/xui/en/inspect_object.xml index 73a7bef77d..603ff55e6d 100644 --- a/indra/newview/skins/default/xui/en/inspect_object.xml +++ b/indra/newview/skins/default/xui/en/inspect_object.xml @@ -4,8 +4,9 @@    Single instance - only have one at a time, recycle it each spawn  -->  <floater + legacy_header_height="18"   bevel_style="in" - bg_opaque_color="MouseGray" + bg_opaque_image="Inspector_Background"    can_close="false"   can_minimize="false"   height="145" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index ac98907199..9aacb8a92c 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -5837,15 +5837,11 @@ An object named [OBJECTFROMNAME] owned by (an unknown Resident) has given you a        <button         index="0"         name="Keep" -       text="OK"/> +       text="Accept"/>        <button         index="1"         name="Discard" -       text="Cancel"/> -      <button -       index="2" -       name="Mute" -       text="Block"/> +       text="No, thanks"/>      </form>    </notification> diff --git a/indra/newview/skins/default/xui/en/panel_instant_message.xml b/indra/newview/skins/default/xui/en/panel_instant_message.xml index 00ede1fb2c..26d8304551 100644 --- a/indra/newview/skins/default/xui/en/panel_instant_message.xml +++ b/indra/newview/skins/default/xui/en/panel_instant_message.xml @@ -1,15 +1,14 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel   background_visible="true" - bevel_style="in"   bg_alpha_color="0.3 0.3 0.3 0" - height="140" + height="175"   label="im_panel"   layout="topleft"   left="0"   name="im_panel"   top="0" - width="350"> + width="305">      <string       name="message_max_lines_count">          6 @@ -19,50 +18,52 @@       bevel_style="in"       bg_alpha_color="black"       follows="top" -     height="30" +     height="20"       label="im_header"       layout="topleft"       left="5"       name="im_header"       top="5" -     width="340"> +     width="295">          <avatar_icon           follows="right"           height="20"           image_name="icon_avatar_online.tga"           layout="topleft" -         left="5" +         left="0"           mouse_opaque="true"           name="avatar_icon" -         top="5" +         top="0"           width="20" />          <icon           follows="right"           height="20"           image_name="icon_top_pick.tga"           layout="topleft" -         left="5" +         left="0"           mouse_opaque="true"           name="sys_msg_icon" -         top="5" +         top="0"           width="20" />          <text           follows="left|right" -         font="SansSerifBigBold" +         font="SansSerifBold"           height="20"           layout="topleft" -         left_pad="10" +         left_pad="5"           name="user_name"           text_color="white"           top="5"           value="Darth Vader" -         width="250" /> +         width="295" /> +	 <!-- TIME STAMP -->          <text           follows="right" -         font="SansSerifBig" +         font="SansSerif"           height="20"           layout="topleft" -         left_pad="10" +	 halign="right" +         left="245"           name="time_box"           text_color="white"           top="5" @@ -71,25 +72,25 @@      </panel>      <text       follows="left|top|bottom|right" -     height="60" +     height="86"       layout="topleft"       left="10"       name="message"       text_color="white" -     top="40" +     top="33"       use_ellipses="true"       value="MESSAGE" -     width="330" +     width="285"       word_wrap="true"       max_length="350" />      <button       follows="bottom" -     font="SansSerifBigBold" +     font="SansSerifBold"       height="25" -     label="reply" +     label="Reply"       layout="topleft" -     left="120" +     left="97"       name="reply" -     top="110" +     top="137"       width="110" />  </panel> diff --git a/indra/newview/skins/default/xui/en/panel_notification.xml b/indra/newview/skins/default/xui/en/panel_notification.xml index 9c2829d92d..0d34aa0f08 100644 --- a/indra/newview/skins/default/xui/en/panel_notification.xml +++ b/indra/newview/skins/default/xui/en/panel_notification.xml @@ -1,37 +1,51 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel -  background_opaque="true" -  background_visible="false" +  background_opaque="false" +      border_visible="false" +  border = "false" +  border_drop_shadow_visible = "false" +  drop_shadow_visible = "false" +  background_visible="true"    bg_alpha_color="0.3 0.3 0.3 0" -  height="140" +  bg_opaque_color="0.3 0.3 0.3 0"    label="notification_panel"    layout="topleft"    left="0"    name="notification_panel"    top="0" -  width="350"> +  	height="10" +  width="305"> +  <!-- THIS PANEL CONTROLS TOAST HEIGHT? -->    <panel +      border_visible="false" +      drop_shadow="false" + bevel_style="none" + border_style="none" +  border = "false" +  border_drop_shadow_visible = "false" +  drop_shadow_visible = "false"      background_visible="true" -    bg_alpha_color="0.3 0.3 0.3 0" +  bg_alpha_color="0.3 0.3 0.3 0" +  bg_opaque_color="0.3 0.3 0.3 0"      follows="left|right|top" -    height="100" +    height="10"      label="info_panel"      layout="topleft"      left="0"      name="info_panel"      top="0" -    width="350"> -    <text +    width="305"> +  <!--  <text        border_visible="false"        follows="left|right|top|bottom"        font="SansSerif"        height="90"        layout="topleft" -      left="45" +      left="10"        name="text_box"        read_only="true"        text_color="white" -      top="5" +      top="10"        visible="false"         width="300"        wrap="true"/> @@ -47,40 +61,43 @@        top="5"        visible="false"        width="300" -      wrap="true"/> +      wrap="true"/>  -->      <text_editor +    	h_pad="0" +	v_pad="0"        bg_readonly_color="0.0 0.0 0.0 0"        border_visible="false" +	  border = "false" +	  border_drop_shadow_visible = "false" +	  drop_shadow_visible = "false"        embedded_items="false"        enabled="false"        follows="left|right|top|bottom"        font="SansSerif" -      height="90"        layout="topleft" -      left="45" +      left="10"        mouse_opaque="false"        name="text_editor_box"        read_only="true"        tab_stop="false"        text_color="white"        text_readonly_color="white" -      top="5" +      top="10"        visible="false" -      width="300" +      width="285"        wrap="true"/>    </panel>    <panel -    background_visible="true" -    bg_alpha_color="0.3 0.3 0.3 0" +    background_visible="false"      follows="left|right|bottom" -    height="40"      label="control_panel"      layout="topleft"      left="0" +    left_delta="-38"      name="control_panel" -    top_pad="0" -    width="350"> +    top="20">    </panel> +  <!--    <icon      follows="left|top"      height="32" @@ -90,5 +107,5 @@      mouse_opaque="false"      name="info_icon"      top="20" -    width="32" /> +    width="32" />  -->  </panel> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml index f42bab14de..91dcdce23b 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml @@ -20,8 +20,9 @@      </panel.string>      <check_box       control_name="UseChatBubbles" +     follows="left|top"       height="16" -     label="Bubble Chat" +     label="Bubble chat"       layout="topleft"       left="30"       top="10" @@ -30,6 +31,7 @@      <slider       control_name="ChatBubbleOpacity" +     follows="left|top"       height="16"       increment="0.05"       initial_value="1" @@ -40,40 +42,24 @@       label_width="50"       name="bubble_chat_opacity"       width="200" /> - -   <!-- <check_box -     control_name="UIAutoScale" -     height="16" -     label="Resolution independent scale" -     layout="topleft" -     left="30" -     name="ui_auto_scale" -     top_pad="10" -     width="256" />--> -    <!-- -    <combo_box -     height="18" -     layout="topleft" -     left_pad="5" -     name="fullscreen combo" -     top_delta="-1" -     width="150" /-->      <text +     follows="left|top"       type="string"       length="1"       height="25"       layout="topleft"       left="30" -     top_pad="20" +     top_pad="5"       name="AspectRatioLabel1"       tool_tip="width / height"       label_width="50"       width="120"> -        Aspect Ratio +        Aspect ratio      </text>      <combo_box       allow_text_entry="true"       height="20" +     follows="left|top"       layout="topleft"       left_pad="0"       max_chars="100" @@ -104,6 +90,7 @@      </combo_box>      <check_box       control_name="FullScreenAutoDetectAspectRatio" +     follows="left|top"       height="25"       label="Auto-detect"       layout="topleft" @@ -113,14 +100,14 @@          <check_box.commit_callback           function="Pref.AutoDetectAspect" />      </check_box> -       <text +     follows="left|top"       type="string"       length="1"       height="10"       left="30"       name="heading1" -     top_pad="10" +     top_pad="5"       width="270">  Camera:  	</text> @@ -128,7 +115,7 @@ Camera:       can_edit_text="true"  	 control_name="CameraAngle"       decimal_digits="2" -     top_pad="10" +     top_pad="5"       follows="left|top"       height="16"       increment="0.025" @@ -159,56 +146,62 @@ Camera:       name="camera_offset_scale"       show_text="false"       width="240" -     top_pad="10"/> +     top_pad="5"/>       <text +     follows="left|top"       type="string"       length="1"       height="10"       left="30"       name="heading2" -     width="270"> +     width="270" +     top_pad="5">  Automatic positioning for:  	</text>          <check_box       control_name="EditCameraMovement"       height="20" +     follows="left|top"       label="Build/Edit"       layout="topleft"       left_delta="50"       name="edit_camera_movement"       tool_tip="Use automatic camera positioning when entering and exiting edit mode"       width="280" -     top_pad="10" /> +     top_pad="5" />      <check_box       control_name="AppearanceCameraMovement" +     follows="left|top"       height="16"       label="Appearance"       layout="topleft"       name="appearance_camera_movement"       tool_tip="Use automatic camera positioning while in edit mode"       width="242" /> -       <text +     follows="left|top"       type="string"       length="1"       height="10"       left="30"       name="heading3" -     top_pad="10" +     top_pad="5"       width="270">  Avatars:  	</text>      <check_box       control_name="FirstPersonAvatarVisible" +     follows="left|top"       height="20"       label="Show me in Mouselook"       layout="topleft"       left_delta="50"       name="first_person_avatar_visible"       width="256" -     top_pad="10"/> +     top_pad="0"/>      <check_box       control_name="ArrowKeysMoveAvatar" +     follows="left|top"       height="20"       label="Arrow keys always move me"       layout="topleft" @@ -218,6 +211,7 @@ Avatars:       top_pad="0"/>      <check_box       control_name="AllowTapTapHoldRun" +     follows="left|top"       height="20"       label="Tap-tap-hold to run"       layout="topleft" @@ -227,6 +221,7 @@ Avatars:       top_pad="0"/>      <check_box       control_name="LipSyncEnabled" +     follows="left|top"       height="20"       label="Move avatar lips when speaking"       layout="topleft" @@ -236,16 +231,18 @@ Avatars:       top_pad="0" />      <check_box       control_name="ShowScriptErrors" +     follows="left|top"       height="20"       label="Show script errors"       layout="topleft"       left="30"       name="show_script_errors"       width="256" -     top_pad="10"/> +     top_pad="5"/>      <radio_group  	 enabled_control="ShowScriptErrors"  	 control_name="ShowScriptErrorsLocation" +     follows="top|left"       draw_border="false"       height="40"       layout="topleft" @@ -259,17 +256,53 @@ Avatars:           layout="topleft"           left="3"           name="0" -         top="3" +         top="0"           width="315" />          <radio_item           height="16"           label="In window"           layout="topleft" -         left_delta="0" +         left_delta="175"           name="1" -         top_delta="16" +         top_delta="0"           width="315" />      </radio_group> - - +     <check_box +     follows="top|left" +     height="20" +     label="Use Push-to-talk in toggle mode" +     layout="topleft" +     left="30" +     name="push_to_talk_toggle_check" +     width="237" +     top_pad="-25" +     tool_tip="When in toggle mode, press and release the push-to-talk trigger to switch your microphone on and off. When not in toggle mode, the microphone is active only when the trigger is held down."/> +    <line_editor +     follows="top|left" +     height="19" +     left_delta="50" +     max_length="254" +     name="modifier_combo" +     label="Push-to-talk trigger" +     top_pad="0" +     width="280" /> +    <button +	follows="top|left" +	height="20" +	label="Set Key" +	left_delta="0" +        name="set_voice_hotkey_button" +	width="115" +	top_pad="5" /> +    <button +        bottom_delta="0" +	follows="left" +	font="SansSerif" +	halign="center" +	height="20" +	label="Middle Mouse Button" +	left_delta="120" +	mouse_opaque="true" +	name="set_voice_middlemouse_button" +	width="160" />  </panel> diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml index 2e500fc2aa..66237d585a 100644 --- a/indra/newview/skins/default/xui/en/panel_toast.xml +++ b/indra/newview/skins/default/xui/en/panel_toast.xml @@ -1,41 +1,49 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <!-- All our XML is utf-8 encoded. --> +<!-- All this does is establish the position of the "close" button on the toast. --> +  <floater + legacy_header_height="18"  	name="toast"  	title=""    visible="false"    layout="topleft" -	width="350" -	height="40" -  left="100" -  top="500" +	width="305" +  left="0" +  top="0"    follows="right|bottom"  -  bevel_style="in" +  bg_opaque_image="Toast_Background"  +  bg_alpha_image="Toast_Background"     can_minimize="false"    can_tear_off="false"    can_resize="false"    can_drag_on_left="false"    can_close="false"    can_dock="false"   +  border_visible = "false" +  border_drop_shadow_visible = "false" +  drop_shadow_visible = "false" +  border = "false"    > +  <!--    <text     visible="false"     follows="left|top|right|bottom"     font="SansSerifBold" -   height="28" +   height="40"     layout="topleft"     left="60"     name="toast_text"     word_wrap="true"     text_color="white" -   top="10" +   top="20"     width="290">      Toast text;    </text>    <icon -    top="4"  +    top="20"       left="10"       width="32"       height="32" @@ -47,24 +55,24 @@      image_name="notify_tip_icon.tga"      mouse_opaque="true"       name="icon" -  /> +  />-->    <button      layout="topleft" -    top="-5"  -    left="335"  -    width="20"  -    height="20"  +    top="-6"  +    left="293"  +    width="17"  +    height="17"       follows="top|right"      visible="false"       enabled="true"  -    mouse_opaque="true"  +    mouse_opaque="false"       name="hide_btn"       label=""       tab_stop="false" -    image_unselected="toast_hide_btn.tga"  -    image_disabled="toast_hide_btn.tga" -    image_selected="toast_hide_btn.tga"  -    image_hover_selected="toast_hide_btn.tga" -    image_disabled_selected="toast_hide_btn.tga" +    image_unselected="windows/Toast_CloseBtn.png"  +    image_disabled="windows/Toast_CloseBtn.png" +    image_selected="windows/Toast_CloseBtn.png"  +    image_hover_selected="windows/Toast_CloseBtn.png" +    image_disabled_selected="windows/Toast_CloseBtn.png"    />  </floater>  diff --git a/indra/newview/skins/default/xui/en/widgets/floater.xml b/indra/newview/skins/default/xui/en/widgets/floater.xml index 4a866c2eb2..6660fbf1a8 100644 --- a/indra/newview/skins/default/xui/en/widgets/floater.xml +++ b/indra/newview/skins/default/xui/en/widgets/floater.xml @@ -1,6 +1,10 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<!-- See also settings.xml UIFloater* settings for configuration -->  <floater name="floater"           bg_opaque_color="FloaterFocusBackgroundColor"           bg_alpha_color="FloaterDefaultBackgroundColor" +         bg_opaque_image="Window_Foreground"  +         bg_alpha_image="Window_Background"            background_visible="true" -         background_opaque="false"/> +         background_opaque="false" +         header_height="25" /> diff --git a/indra/newview/skins/default/xui/en/widgets/panel.xml b/indra/newview/skins/default/xui/en/widgets/panel.xml index b81a70b845..127f0f40e8 100644 --- a/indra/newview/skins/default/xui/en/widgets/panel.xml +++ b/indra/newview/skins/default/xui/en/widgets/panel.xml @@ -1,5 +1,9 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<!-- Optional parameters: +  bg_opaque_image - image name for "in-front" panel look +  bg_alpha_image - image name for "in-back" or transparent panel look +-->  <panel bg_opaque_color="PanelFocusBackgroundColor"         bg_alpha_color="PanelDefaultBackgroundColor"         background_visible="false" -       background_opaque="false"/>
\ No newline at end of file +       background_opaque="false"/> | 
