diff options
Diffstat (limited to 'indra')
21 files changed, 187 insertions, 57 deletions
| diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp index d4e14d9419..56be52f69a 100755 --- a/indra/llui/llcombobox.cpp +++ b/indra/llui/llcombobox.cpp @@ -534,6 +534,13 @@ void LLComboBox::createLineEditor(const LLComboBox::Params& p)  	}  } +void LLComboBox::setLeftTextPadding(S32 pad) +{ +	S32 left_pad, right_pad; +	mTextEntry->getTextPadding(&left_pad, &right_pad); +	mTextEntry->setTextPadding(pad, right_pad); +} +  void* LLComboBox::getCurrentUserdata()  {  	LLScrollListItem* item = mList->getFirstSelected(); diff --git a/indra/llui/llcombobox.h b/indra/llui/llcombobox.h index 64dbaea306..1e04fb0866 100755 --- a/indra/llui/llcombobox.h +++ b/indra/llui/llcombobox.h @@ -190,6 +190,8 @@ public:  	virtual BOOL	operateOnAll(EOperation op);  	//======================================================================== + +	void			setLeftTextPadding(S32 pad);  	void*			getCurrentUserdata(); diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 625fb8e870..ab37ee48b6 100755 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -50,6 +50,7 @@ const LLCommandId LLCommandId::null = LLCommandId("null command");  LLCommand::Params::Params()  	: available_in_toybox("available_in_toybox", false)  	, icon("icon") +	, hover_icon("hover_icon")  	, label_ref("label_ref")  	, name("name")  	, tooltip_ref("tooltip_ref") @@ -71,6 +72,7 @@ LLCommand::LLCommand(const LLCommand::Params& p)  	: mIdentifier(p.name)  	, mAvailableInToybox(p.available_in_toybox)  	, mIcon(p.icon) +	, mHoverIcon(p.hover_icon)  	, mLabelRef(p.label_ref)  	, mName(p.name)  	, mTooltipRef(p.tooltip_ref) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index ff5a8a3257..47a9b86785 100755 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -96,6 +96,8 @@ public:  		Mandatory<std::string>	name;  		Mandatory<std::string>	tooltip_ref; +		Optional<std::string>   hover_icon; +  		Mandatory<std::string>	execute_function;  		Optional<LLSD>			execute_parameters; @@ -124,6 +126,7 @@ public:  	const std::string& labelRef() const { return mLabelRef; }  	const std::string& name() const { return mName; }  	const std::string& tooltipRef() const { return mTooltipRef; } +	const std::string& hoverIcon() const {return mHoverIcon; }  	const std::string& executeFunctionName() const { return mExecuteFunction; }  	const LLSD& executeParameters() const { return mExecuteParameters; } @@ -150,6 +153,7 @@ private:  	std::string mLabelRef;  	std::string mName;  	std::string mTooltipRef; +	std::string mHoverIcon;  	std::string mExecuteFunction;  	LLSD        mExecuteParameters; diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index fd98155704..9b08d8a9f5 100755 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -193,12 +193,15 @@ LLTabContainer::TabParams::TabParams()  :	tab_top_image_unselected("tab_top_image_unselected"),  	tab_top_image_selected("tab_top_image_selected"),  	tab_top_image_flash("tab_top_image_flash"), +	tab_top_image_hovered("tab_top_image_hovered"),  	tab_bottom_image_unselected("tab_bottom_image_unselected"),  	tab_bottom_image_selected("tab_bottom_image_selected"),  	tab_bottom_image_flash("tab_bottom_image_flash"), +	tab_bottom_image_hovered("tab_bottom_image_hovered"),  	tab_left_image_unselected("tab_left_image_unselected"),  	tab_left_image_selected("tab_left_image_selected"), -	tab_left_image_flash("tab_left_image_flash") +	tab_left_image_flash("tab_left_image_flash"), +	tab_left_image_hovered("tab_left_image_hovered")  {}  LLTabContainer::Params::Params() @@ -218,7 +221,8 @@ LLTabContainer::Params::Params()  	open_tabs_on_drag_and_drop("open_tabs_on_drag_and_drop", false),  	tab_icon_ctrl_pad("tab_icon_ctrl_pad", 0),  	use_ellipses("use_ellipses"), -	font_halign("halign") +	font_halign("halign"), +	use_highlighting_on_hover("use_highlighting_on_hover",false)  {}  LLTabContainer::LLTabContainer(const LLTabContainer::Params& p) @@ -254,7 +258,8 @@ LLTabContainer::LLTabContainer(const LLTabContainer::Params& p)  	mCustomIconCtrlUsed(p.use_custom_icon_ctrl),  	mOpenTabsOnDragAndDrop(p.open_tabs_on_drag_and_drop),  	mTabIconCtrlPad(p.tab_icon_ctrl_pad), -	mUseTabEllipses(p.use_ellipses) +	mUseTabEllipses(p.use_ellipses), +	mUseHighlightingOnHover(p.use_highlighting_on_hover)  {  	static LLUICachedControl<S32> tabcntr_vert_tab_min_width ("UITabCntrVertTabMinWidth", 0); @@ -891,18 +896,30 @@ void LLTabContainer::update_images(LLTabTuple* tuple, TabParams params, LLTabCon  			tuple->mButton->setImageUnselected(static_cast<LLUIImage*>(params.tab_top_image_unselected));  			tuple->mButton->setImageSelected(static_cast<LLUIImage*>(params.tab_top_image_selected));  			tuple->mButton->setImageFlash(static_cast<LLUIImage*>(params.tab_top_image_flash)); +			if(mUseHighlightingOnHover) +			{ +				tuple->mButton->setImageHoverUnselected(static_cast<LLUIImage*>(params.tab_top_image_hovered)); +			}  		}  		else if (pos == LLTabContainer::BOTTOM)  		{  			tuple->mButton->setImageUnselected(static_cast<LLUIImage*>(params.tab_bottom_image_unselected));  			tuple->mButton->setImageSelected(static_cast<LLUIImage*>(params.tab_bottom_image_selected));  			tuple->mButton->setImageFlash(static_cast<LLUIImage*>(params.tab_bottom_image_flash)); +			if(mUseHighlightingOnHover) +			{ +				tuple->mButton->setImageHoverUnselected(static_cast<LLUIImage*>(params.tab_bottom_image_hovered)); +			}  		}  		else if (pos == LLTabContainer::LEFT)  		{  			tuple->mButton->setImageUnselected(static_cast<LLUIImage*>(params.tab_left_image_unselected));  			tuple->mButton->setImageSelected(static_cast<LLUIImage*>(params.tab_left_image_selected));  			tuple->mButton->setImageFlash(static_cast<LLUIImage*>(params.tab_left_image_flash)); +			if(mUseHighlightingOnHover) +			{ +				tuple->mButton->setImageHoverUnselected(static_cast<LLUIImage*>(params.tab_left_image_hovered)); +			}  		}  	}  } diff --git a/indra/llui/lltabcontainer.h b/indra/llui/lltabcontainer.h index 57862fc626..7e7d4ac6e6 100755 --- a/indra/llui/lltabcontainer.h +++ b/indra/llui/lltabcontainer.h @@ -62,12 +62,15 @@ public:  		Optional<LLUIImage*>				tab_top_image_unselected,  											tab_top_image_selected,  											tab_top_image_flash, +											tab_top_image_hovered,  											tab_bottom_image_unselected,  											tab_bottom_image_selected,  											tab_bottom_image_flash, +											tab_bottom_image_hovered,  											tab_left_image_unselected,  											tab_left_image_selected, -											tab_left_image_flash;		 +											tab_left_image_flash, +											tab_left_image_hovered;  		TabParams();  	}; @@ -114,6 +117,11 @@ public:  		 */  		Optional<S32>						tab_icon_ctrl_pad; +		/** +		 *  This variable is used to found out should we highlight tab button on hover +		*/ +		Optional<bool>						use_highlighting_on_hover; +  		Params();  	}; @@ -307,6 +315,7 @@ private:  	bool							mOpenTabsOnDragAndDrop;  	S32								mTabIconCtrlPad;  	bool							mUseTabEllipses; +	bool                            mUseHighlightingOnHover;  };  #endif  // LL_TABCONTAINER_H diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 3d9f5cbbc2..8383d61034 100755 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -928,6 +928,7 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id)  	button_p.label = LLTrans::getString(commandp->labelRef());  	button_p.tool_tip = LLTrans::getString(commandp->tooltipRef());  	button_p.image_overlay = LLUI::getUIImage(commandp->icon()); +	button_p.image_hover_unselected = LLUI::getUIImage(commandp->hoverIcon());  	button_p.button_flash_enable = commandp->isFlashingAllowed();  	button_p.overwriteFrom(mButtonParams[mButtonType]);  	LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 4659673333..aa8e3b5166 100755 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -13,6 +13,7 @@    <command name="appearance"               available_in_toybox="true"             icon="Command_Appearance_Icon" +           hover_icon="Command_Highlighting_Icon"             label_ref="Command_Appearance_Label"             tooltip_ref="Command_Appearance_Tooltip"             execute_function="Floater.ToggleOrBringToFront" @@ -23,6 +24,7 @@    <command name="avatar"             available_in_toybox="true"             icon="Command_Avatar_Icon" +           hover_icon="Command_Highlighting_Icon"             label_ref="Command_Avatar_Label"             tooltip_ref="Command_Avatar_Tooltip"             execute_function="Floater.ToggleOrBringToFront" @@ -94,6 +96,7 @@    <command name="inventory"             available_in_toybox="true"             icon="Command_Inventory_Icon" +           hover_icon="Command_Highlighting_Icon"             label_ref="Command_Inventory_Label"             tooltip_ref="Command_Inventory_Tooltip"             execute_function="Floater.ToggleOrBringToFront" @@ -121,6 +124,7 @@    <command name="minimap"             available_in_toybox="true"             icon="Command_MiniMap_Icon" +           hover_icon="Command_Highlighting_Icon"             label_ref="Command_MiniMap_Label"             tooltip_ref="Command_MiniMap_Tooltip"             execute_function="Floater.ToggleOrBringToFront" @@ -171,6 +175,7 @@    <command name="places"             available_in_toybox="true"             icon="Command_Places_Icon" +           hover_icon="Command_Highlighting_Icon"             label_ref="Command_Places_Label"             tooltip_ref="Command_Places_Tooltip"             execute_function="Floater.ToggleOrBringToFront" @@ -199,6 +204,7 @@    <command name="search"             available_in_toybox="true"             icon="Command_Search_Icon" +           hover_icon="Command_Highlighting_Icon"             label_ref="Command_Search_Label"             tooltip_ref="Command_Search_Tooltip"             execute_function="Floater.ToggleOrBringToFront" @@ -209,6 +215,7 @@    <command name="snapshot"             available_in_toybox="true"             icon="Command_Snapshot_Icon" +           hover_icon="Command_Highlighting_Icon"             label_ref="Command_Snapshot_Label"             tooltip_ref="Command_Snapshot_Tooltip"             execute_function="Floater.ToggleOrBringToFront" diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index ead013d6c6..4944de6030 100755 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -785,7 +785,7 @@ bool less_than_max_mag(const LLVector4a& vec)  }  BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f, -								const LLMatrix4& mat_vert_in, BOOL global_volume) +								const LLMatrix4& mat_vert_in, const LLMatrix3& mat_normal_in, BOOL global_volume)  {  	//get bounding box  	if (mDrawablep->isState(LLDrawable::REBUILD_VOLUME | LLDrawable::REBUILD_POSITION | LLDrawable::REBUILD_RIGGED)) @@ -794,8 +794,12 @@ BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f,  		LLMatrix4a mat_vert;  		mat_vert.loadu(mat_vert_in); +		LLMatrix4a mat_normal; +		mat_normal.loadu(mat_normal_in); + +		//VECTORIZE THIS  		LLVector4a min,max; -	 +  		if (f >= volume.getNumVolumeFaces())  		{  			llwarns << "Generating bounding box for invalid face index!" << llendl; @@ -805,58 +809,93 @@ BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f,  		const LLVolumeFace &face = volume.getVolumeFace(f);  		min = face.mExtents[0];  		max = face.mExtents[1]; -		 +  		llassert(less_than_max_mag(min));  		llassert(less_than_max_mag(max));  		//min, max are in volume space, convert to drawable render space +		LLVector4a center; +		LLVector4a t; +		t.setAdd(min, max); +		t.mul(0.5f); +		mat_vert.affineTransform(t, center); +		LLVector4a size; +		size.setSub(max, min); +		size.mul(0.5f); -		//get 8 corners of bounding box -		LLVector4Logical mask[6]; +		llassert(less_than_max_mag(min)); +		llassert(less_than_max_mag(max)); -		for (U32 i = 0; i < 6; ++i) +		if (!global_volume)  		{ -			mask[i].clear(); +			//VECTORIZE THIS +			LLVector4a scale; +			scale.load3(mDrawablep->getVObj()->getScale().mV); +			size.mul(scale);  		} -		mask[0].setElement<2>(); //001 -		mask[1].setElement<1>(); //010 -		mask[2].setElement<1>(); //011 -		mask[2].setElement<2>(); -		mask[3].setElement<0>(); //100 -		mask[4].setElement<0>(); //101 -		mask[4].setElement<2>(); -		mask[5].setElement<0>(); //110 -		mask[5].setElement<1>(); -		 -		LLVector4a v[8]; +		// Catch potential badness from normalization before it happens +		// +		llassert(mat_normal.mMatrix[0].isFinite3() && (mat_normal.mMatrix[0].dot3(mat_normal.mMatrix[0]).getF32() > F_APPROXIMATELY_ZERO)); +		llassert(mat_normal.mMatrix[1].isFinite3() && (mat_normal.mMatrix[1].dot3(mat_normal.mMatrix[1]).getF32() > F_APPROXIMATELY_ZERO)); +		llassert(mat_normal.mMatrix[2].isFinite3() && (mat_normal.mMatrix[2].dot3(mat_normal.mMatrix[2]).getF32() > F_APPROXIMATELY_ZERO)); -		v[6] = min; -		v[7] = max; +		mat_normal.mMatrix[0].normalize3fast(); +		mat_normal.mMatrix[1].normalize3fast(); +		mat_normal.mMatrix[2].normalize3fast(); -		for (U32 i = 0; i < 6; ++i) -		{ -			v[i].setSelectWithMask(mask[i], min, max); -		} +		LLVector4a v[4]; -		LLVector4a tv[8]; +		//get 4 corners of bounding box +		mat_normal.rotate(size,v[0]); + +		//VECTORIZE THIS +		LLVector4a scale; + +		scale.set(-1.f, -1.f, 1.f); +		scale.mul(size); +		mat_normal.rotate(scale, v[1]); + +		scale.set(1.f, -1.f, -1.f); +		scale.mul(size); +		mat_normal.rotate(scale, v[2]); + +		scale.set(-1.f, 1.f, -1.f); +		scale.mul(size); +		mat_normal.rotate(scale, v[3]); -		//transform bounding box into drawable space -		for (U32 i = 0; i < 8; ++i) -		{ -			mat_vert.affineTransform(v[i], tv[i]); -		} -	 -		//find bounding box  		LLVector4a& newMin = mExtents[0];  		LLVector4a& newMax = mExtents[1]; -		newMin = newMax = tv[0]; +		newMin = newMax = center; -		for (U32 i = 1; i < 8; ++i) +		llassert(less_than_max_mag(center)); + +		for (U32 i = 0; i < 4; i++)  		{ -			newMin.setMin(newMin, tv[i]); -			newMax.setMax(newMax, tv[i]); +			LLVector4a delta; +			delta.setAbs(v[i]); +			LLVector4a min; +			min.setSub(center, delta); +			LLVector4a max; +			max.setAdd(center, delta); + +			newMin.setMin(newMin,min); +			newMax.setMax(newMax,max); + +			llassert(less_than_max_mag(newMin)); +			llassert(less_than_max_mag(newMax)); +		} + +		if (!mDrawablep->isActive()) +		{ +			LLVector4a offset; +			offset.load3(mDrawablep->getRegion()->getOriginAgent().mV); +			newMin.add(offset); +			newMax.add(offset); + +			llassert(less_than_max_mag(newMin)); +			llassert(less_than_max_mag(newMax));  		}  		if (!mDrawablep->isActive()) @@ -867,12 +906,17 @@ BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f,  			newMax.add(offset);  		} -		LLVector4a t; -		t.setAdd(newMin,newMax); +		t.setAdd(newMin, newMax);  		t.mul(0.5f); +		llassert(less_than_max_mag(t)); + +		//VECTORIZE THIS  		mCenterLocal.set(t.getF32ptr()); +		llassert(less_than_max_mag(newMin)); +		llassert(less_than_max_mag(newMax)); +  		t.setSub(newMax,newMin);  		mBoundingSphereRadius = t.getLength3().getF32()*0.5f; diff --git a/indra/newview/llface.h b/indra/newview/llface.h index 763634a3ab..0687544d53 100755 --- a/indra/newview/llface.h +++ b/indra/newview/llface.h @@ -195,7 +195,7 @@ public:  	void		setSize(S32 numVertices, S32 num_indices = 0, bool align = false);  	BOOL		genVolumeBBoxes(const LLVolume &volume, S32 f, -								   const LLMatrix4& mat, BOOL global_volume = FALSE); +								   const LLMatrix4& mat, const LLMatrix3& inv_trans_mat, BOOL global_volume = FALSE);  	void		init(LLDrawable* drawablep, LLViewerObject* objp);  	void		destroy(); diff --git a/indra/newview/llfloatergroupinvite.cpp b/indra/newview/llfloatergroupinvite.cpp index 49da4e64b3..0c735dec1f 100755 --- a/indra/newview/llfloatergroupinvite.cpp +++ b/indra/newview/llfloatergroupinvite.cpp @@ -30,6 +30,7 @@  #include "llpanelgroupinvite.h"  #include "lltrans.h"  #include "lldraghandle.h" +#include "llgroupmgr.h"  class LLFloaterGroupInvite::impl  { @@ -123,6 +124,11 @@ void LLFloaterGroupInvite::showForGroup(const LLUUID& group_id, uuid_vec_t *agen  	LLFloaterGroupInvite *fgi = get_if_there(impl::sInstances,  											 group_id,  											 (LLFloaterGroupInvite*)NULL); + +	// refresh group information +	LLGroupMgr::getInstance()->clearGroupData(group_id); + +  	if (!fgi)  	{  		fgi = new LLFloaterGroupInvite(group_id); diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 3fe2518de6..c8b48ea6ca 100755 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -350,10 +350,12 @@ void LLFloaterWebContent::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent  		if(test_prefix == prefix)  		{  			mSecureLockIcon->setVisible(true); +			mAddressCombo->setLeftTextPadding(22);  		}  		else  		{  			mSecureLockIcon->setVisible(false); +			mAddressCombo->setLeftTextPadding(2);  		}  	}  	else if(event == MEDIA_EVENT_CLOSE_REQUEST) diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 778c0ee61a..04ec98d514 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -232,6 +232,7 @@ public:  		if( mID != regionp->getHttpResponderID() ) // region is no longer referring to this responder  		{  			LL_WARNS2("AppInit", "Capabilities") << "Received results for a stale http responder!" << LL_ENDL; +			regionp->failedSeedCapability();  			return ;  		} diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index e3bd2b8621..dd161f84c1 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -1481,7 +1481,7 @@ BOOL LLVOVolume::genBBoxes(BOOL force_global)  			continue;  		}  		res &= face->genVolumeBBoxes(*volume, i, -										mRelativeXform,  +										mRelativeXform, mRelativeXformInvTrans,   										(mVolumeImpl && mVolumeImpl->isVolumeGlobal()) || force_global);  		if (rebuild) diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index 7996f8a640..103668d051 100755 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -140,6 +140,7 @@ LLViewerRegion* LLWorld::addRegion(const U64 ®ion_handle, const LLHost &host)  {  	llinfos << "Add region with handle: " << region_handle << " on host " << host << llendl;  	LLViewerRegion *regionp = getRegionFromHandle(region_handle); +	std::string seedUrl;  	if (regionp)  	{  		llinfos << "Region exists, removing it " << llendl; @@ -161,6 +162,9 @@ LLViewerRegion* LLWorld::addRegion(const U64 ®ion_handle, const LLHost &host)  			llwarns << "LLWorld::addRegion exists, but isn't alive" << llendl;  		} +		// Save capabilities seed URL +		seedUrl = regionp->getCapability("Seed"); +  		// Kill the old host, and then we can continue on and add the new host.  We have to kill even if the host  		// matches, because all the agent state for the new camera is completely different.  		removeRegion(old_host); @@ -188,6 +192,11 @@ LLViewerRegion* LLWorld::addRegion(const U64 ®ion_handle, const LLHost &host)  		llerrs << "Unable to create new region!" << llendl;  	} +	if ( !seedUrl.empty() ) +	{ +		regionp->setCapability("Seed", seedUrl); +	} +  	mRegionList.push_back(regionp);  	mActiveRegionList.push_back(regionp);  	mCulledRegionList.push_back(regionp); diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index b0e4b71d21..82a3e70d7c 100755 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -152,6 +152,7 @@ with the same filename but different name    <texture name="Command_Speak_Icon"        file_name="toolbar_icons/speak.png"        preload="true" />    <texture name="Command_View_Icon"         file_name="toolbar_icons/view.png"         preload="true" />    <texture name="Command_Voice_Icon"        file_name="toolbar_icons/nearbyvoice.png"  preload="true" /> +  <texture name="Command_Highlighting_Icon" file_name="toolbar_icons/highlighting.png" preload="true" />    <texture name="Caret_Bottom_Icon"         file_name="toolbar_icons/caret_bottom.png" preload="true" scale.left="1" scale.top="23" scale.right="15" scale.bottom="1" />    <texture name="Caret_Right_Icon"          file_name="toolbar_icons/caret_right.png"  preload="true" scale.left="5" scale.top="15" scale.right="28" scale.bottom="1" />    <texture name="Caret_Left_Icon"           file_name="toolbar_icons/caret_left.png"   preload="true" scale.left="1" scale.top="15" scale.right="23" scale.bottom="1" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/highlighting.png b/indra/newview/skins/default/textures/toolbar_icons/highlighting.pngBinary files differ new file mode 100644 index 0000000000..093bace257 --- /dev/null +++ b/indra/newview/skins/default/textures/toolbar_icons/highlighting.png diff --git a/indra/newview/skins/default/xui/en/floater_web_content.xml b/indra/newview/skins/default/xui/en/floater_web_content.xml index cea10adca8..4ba056f904 100755 --- a/indra/newview/skins/default/xui/en/floater_web_content.xml +++ b/indra/newview/skins/default/xui/en/floater_web_content.xml @@ -125,11 +125,10 @@        <icon          name="media_secure_lock_flag"          height="16" -        follows="top|right"          image_name="Lock2"          layout="topleft" -        left_delta="620" -        top_delta="2" +        left_delta="4" +        top="2"          visible="false"           tool_tip="Secured Browsing"          width="16" /> diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index dc54e5e924..d14aed273d 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6273,13 +6273,22 @@ You can only claim public land in the Region you're in.    <notification     icon="notify.tga"     name="RegionTPAccessBlocked" -   persist="true" +   persist="false"     type="notify">     <tag>fail</tag>      The region you're trying to visit contains content exceeding your current preferences.  You can change your preferences using Me > Preferences > General.    </notification>    <notification +   icon="notify.tga" +   name="RegionAboutToShutdown" +   persist="false" +   type="notify"> +    <tag>fail</tag> +    The region you're trying to enter is about to shut down. +  </notification> +   +  <notification  	icon="notify.tga"  	name="URBannedFromRegion"     persist="true" @@ -6805,7 +6814,7 @@ This will add a bookmark in your inventory so you can quickly IM this Resident.     priority="high"     sound="UISndAlert"     type="notify"> -This region will restart in [MINUTES] minutes. +The region "[NAME]" will restart in [MINUTES] minutes.  If you stay in this region you will be logged out.    </notification> @@ -6815,7 +6824,7 @@ If you stay in this region you will be logged out.     priority="high"     sound="UISndAlert"     type="notify"> -This region will restart in [SECONDS] seconds. +The region "[NAME]" will restart in [SECONDS] seconds.  If you stay in this region you will be logged out.    </notification> @@ -8698,11 +8707,11 @@ You are no longer allowed here and have [EJECT_TIME] seconds to leave.    <notification     icon="alertmodal.tga" -   name="NoEnterServerFull" +   name="NoEnterRegionMaybeFull"     type="notify">     <tag>fail</tag> -You can't enter this region because  -the server is full. +You can't enter region "[NAME]". +It may be full or restarting soon.    </notification>    <notification diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml index 7ce2627be9..fcd737737d 100755 --- a/indra/newview/skins/default/xui/en/panel_people.xml +++ b/indra/newview/skins/default/xui/en/panel_people.xml @@ -66,7 +66,8 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M       tab_position="top"       top="0"       halign="center" -     right="-5"> +     right="-5" +     use_highlighting_on_hover="true">  <!-- ================================= NEARBY tab =========================== --> diff --git a/indra/newview/skins/default/xui/en/widgets/tab_container.xml b/indra/newview/skins/default/xui/en/widgets/tab_container.xml index 0586119681..9559be214a 100755 --- a/indra/newview/skins/default/xui/en/widgets/tab_container.xml +++ b/indra/newview/skins/default/xui/en/widgets/tab_container.xml @@ -24,17 +24,26 @@ label_pad_left - padding to the left of tab button labels                 tab_bottom_image_unselected="Toolbar_Left_Off"                 tab_bottom_image_selected="Toolbar_Left_Selected"                 tab_left_image_unselected="SegmentedBtn_Left_Disabled" -               tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/> +               tab_left_image_selected="SegmentedBtn_Left_Selected_Over" +               tab_top_image_hovered="TabTop_Left_Selected" +               tab_button_image_hovered="Toolbar_Left_Selected" +               tab_left_image_hovered="SegmentedBtn_Left_Selected_Over"/>    <middle_tab tab_top_image_unselected="TabTop_Middle_Off"                 tab_top_image_selected="TabTop_Middle_Selected"                 tab_bottom_image_unselected="Toolbar_Middle_Off"                 tab_bottom_image_selected="Toolbar_Middle_Selected"                 tab_left_image_unselected="SegmentedBtn_Left_Disabled" -               tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/> +               tab_left_image_selected="SegmentedBtn_Left_Selected_Over" +               tab_top_image_hovered="TabTop_Middle_Selected" +               tab_button_image_hovered="Toolbar_Middle_Selected" +               tab_left_image_hovered="SegmentedBtn_Left_Selected_Over"/>    <last_tab tab_top_image_unselected="TabTop_Right_Off"                 tab_top_image_selected="TabTop_Right_Selected"                 tab_bottom_image_unselected="Toolbar_Right_Off"                 tab_bottom_image_selected="Toolbar_Right_Selected"                 tab_left_image_unselected="SegmentedBtn_Left_Disabled" -               tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/> +               tab_left_image_selected="SegmentedBtn_Left_Selected_Over" +               tab_top_image_hovered="TabTop_Right_Selected" +               tab_button_image_hovered="Toolbar_Right_Selected" +               tab_left_image_hovered="SegmentedBtn_Left_Selected_Over"/>  </tab_container> | 
