diff options
| author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2009-12-09 15:52:34 -0500 | 
|---|---|---|
| committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2009-12-09 15:52:34 -0500 | 
| commit | 579af2da335edd6a62cc0e4881ed59682e2c2d04 (patch) | |
| tree | e72c72ae02411679cc5460b776be6265fb80bd9e /indra | |
| parent | 45b24808657dddfb2a605186416409b453f149e7 (diff) | |
| parent | 4a7c31ee1d63db068eeef3bd2f5fc0cf61247f69 (diff) | |
merge
--HG--
branch : avatar-pipeline
Diffstat (limited to 'indra')
122 files changed, 1225 insertions, 834 deletions
| diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 5a142f23c9..faf9da8b14 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -231,7 +231,6 @@ elseif(LINUX)          libstacktrace.so          libtcmalloc.so          libuuid.so.1 -        libz.so          libssl.so.0.9.7         ) diff --git a/indra/llcommon/lleventcoro.h b/indra/llcommon/lleventcoro.h index c6d9de171d..1981ae7482 100644 --- a/indra/llcommon/lleventcoro.h +++ b/indra/llcommon/lleventcoro.h @@ -203,9 +203,12 @@ LLSD postAndWait(SELF& self, const LLSD& event, const LLEventPumpOrPumpName& req          // request event.          LLSD modevent(event);          LLEventDetail::storeToLLSDPath(modevent, replyPumpNamePath, replyPump.getPump().getName()); -        LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName +		LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName                                   << " posting to " << requestPump.getPump().getName() -                                 << ": " << modevent << LL_ENDL; +								 << LL_ENDL; + +		// *NOTE:Mani - Removed because modevent could contain user's hashed passwd. +		//                         << ": " << modevent << LL_ENDL;          requestPump.getPump().post(modevent);      }      LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index 9ba0cfc6b8..a28ffbfdc0 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -446,7 +446,9 @@ F32 LLFontGL::getWidthF32(const llwchar* wchars, S32 begin_offset, S32 max_chars  		// for the last character we want to measure the greater of its width and xadvance values  		// so keep track of the difference between these values for the each character we measure  		// so we can fix things up at the end -		width_padding = llmax(0.f, (F32)fgi->mWidth - advance); +		width_padding = llmax(	0.f,											// always use positive padding amount +								width_padding - advance,						// previous padding left over after advance of current character +								(F32)(fgi->mWidth + fgi->mXBearing) - advance);	// difference between width of this character and advance to next character  		cur_x += advance;  		llwchar next_char = wchars[i+1]; diff --git a/indra/llui/llscrollcontainer.cpp b/indra/llui/llscrollcontainer.cpp index f6caed4617..a5e47e8547 100644 --- a/indra/llui/llscrollcontainer.cpp +++ b/indra/llui/llscrollcontainer.cpp @@ -235,18 +235,37 @@ BOOL LLScrollContainer::handleKeyHere(KEY key, MASK mask)  BOOL LLScrollContainer::handleScrollWheel( S32 x, S32 y, S32 clicks )  { -	if(LLUICtrl::handleScrollWheel(x,y,clicks)) +	// Give event to my child views - they may have scroll bars +	// (Bad UI design, but technically possible.) +	if (LLUICtrl::handleScrollWheel(x,y,clicks))  		return TRUE; -	for( S32 i = 0; i < SCROLLBAR_COUNT; i++ ) -	{ -		// Note: tries vertical and then horizontal +	// When the vertical scrollbar is visible, scroll wheel +	// only affects vertical scrolling.  It's confusing to have +	// scroll wheel perform both vertical and horizontal in a +	// single container. +	LLScrollbar* vertical = mScrollbar[VERTICAL]; +	if (vertical->getVisible() +		&& vertical->getEnabled()) +	{  		// Pretend the mouse is over the scrollbar -		if( mScrollbar[i]->handleScrollWheel( 0, 0, clicks ) ) +		if (vertical->handleScrollWheel( 0, 0, clicks ) )  		{  			updateScroll(); -			return TRUE;  		} +		// Always eat the event +		return TRUE; +	} + +	LLScrollbar* horizontal = mScrollbar[HORIZONTAL]; +	// Test enablement and visibility for consistency with +	// LLView::childrenHandleScrollWheel(). +	if (horizontal->getVisible() +		&& horizontal->getEnabled() +		&& horizontal->handleScrollWheel( 0, 0, clicks ) ) +	{ +		updateScroll(); +		return TRUE;  	}  	return FALSE;  } diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 82a3c5cf47..2a9515171a 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -194,7 +194,7 @@ LLTextBase::LLTextBase(const LLTextBase::Params &p)  	mHAlign(p.font_halign),  	mLineSpacingMult(p.line_spacing.multiple),  	mLineSpacingPixels(p.line_spacing.pixels), -	mClipPartial(p.clip_partial), +	mClipPartial(p.clip_partial && !p.allow_scroll),  	mTrackEnd( p.track_end ),  	mScrollIndex(-1),  	mSelectionStart( 0 ), @@ -529,11 +529,6 @@ void LLTextBase::drawText()  		S32 next_line = cur_line + 1;  		line_info& line = mLineInfoList[cur_line]; -		if ((line.mRect.mTop - scrolled_view_rect.mBottom) < mTextRect.mBottom)  -		{ -			break; -		} -  		S32 next_start = -1;  		S32 line_end = text_len; @@ -543,17 +538,9 @@ void LLTextBase::drawText()  			line_end = next_start;  		} -		// A patch for EXT-1944 "Implement ellipses in message well"  -		// introduced a regression where text in SansSerif ending in the -		// letter "r" is clipped.  This may be due to an off-by-one in -		// font width information out of FreeType with our fractional font -		// sizes.  For now, just make an extra pixel of space to resolve -		// EXT-2971 "Letter R doesn't show when it's the last letter in a -		// text block".  See James/Richard for details. -		const S32 FIX_CLIPPING_HACK = 1;  		LLRect text_rect(line.mRect.mLeft + mTextRect.mLeft - scrolled_view_rect.mLeft,  						line.mRect.mTop - scrolled_view_rect.mBottom + mTextRect.mBottom, -						llmin(mDocumentView->getRect().getWidth(), line.mRect.mRight) - scrolled_view_rect.mLeft + FIX_CLIPPING_HACK, +						llmin(mDocumentView->getRect().getWidth(), line.mRect.mRight) - scrolled_view_rect.mLeft,  						line.mRect.mBottom - scrolled_view_rect.mBottom + mTextRect.mBottom);  		// draw a single line of text @@ -1086,6 +1073,10 @@ void LLTextBase::reflow(S32 start_index)  	{  		mReflowNeeded = FALSE; +		// shrink document to minimum size (visible portion of text widget) +		// to force inlined widgets with follows set to shrink +		mDocumentView->setShape(mTextRect); +  		bool scrolled_to_bottom = mScroller ? mScroller->isAtBottom() : false;  		LLRect old_cursor_rect = getLocalRectFromDocIndex(mCursorPos); @@ -1348,13 +1339,11 @@ std::pair<S32, S32>	LLTextBase::getVisibleLines(bool fully_visible)  	if (fully_visible)  	{ -		// binary search for line that starts before top of visible buffer and starts before end of visible buffer  		first_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mTop, compare_top());  		last_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mBottom, compare_bottom());  	}  	else  	{ -		// binary search for line that starts before top of visible buffer and starts before end of visible buffer  		first_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mTop, compare_bottom());  		last_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mBottom, compare_top());  	} @@ -2105,7 +2094,7 @@ void LLTextBase::updateRects()  	LLRect doc_rect = mContentsRect;  	// use old mTextRect constraint document to width of viewable region  	doc_rect.mLeft = 0; -	doc_rect.mRight = mTextRect.getWidth(); +	doc_rect.mRight = llmax(mTextRect.getWidth(), mContentsRect.mRight);  	mDocumentView->setShape(doc_rect); @@ -2125,7 +2114,7 @@ void LLTextBase::updateRects()  	}  	// update document container again, using new mTextRect -	doc_rect.mRight = doc_rect.mLeft + mTextRect.getWidth(); +	doc_rect.mRight = llmax(mTextRect.getWidth(), mContentsRect.mRight);  	mDocumentView->setShape(doc_rect);  } @@ -2218,6 +2207,12 @@ LLNormalTextSegment::LLNormalTextSegment( const LLStyleSP& style, S32 start, S32  	mEditor(editor)  {  	mFontHeight = llceil(mStyle->getFont()->getLineHeight()); + +	LLUIImagePtr image = mStyle->getImage(); +	if (image.notNull()) +	{ +		mImageLoadedConnection = image->addLoadedCallback(boost::bind(&LLTextBase::needsReflow, &mEditor)); +	}  }  LLNormalTextSegment::LLNormalTextSegment( const LLColor4& color, S32 start, S32 end, LLTextBase& editor, BOOL is_visible)  @@ -2230,6 +2225,12 @@ LLNormalTextSegment::LLNormalTextSegment( const LLColor4& color, S32 start, S32  	mFontHeight = llceil(mStyle->getFont()->getLineHeight());  } +LLNormalTextSegment::~LLNormalTextSegment() +{ +	mImageLoadedConnection.disconnect(); +} + +  F32 LLNormalTextSegment::draw(S32 start, S32 end, S32 selection_start, S32 selection_end, const LLRect& draw_rect)  {  	if( end - start > 0 ) @@ -2243,7 +2244,7 @@ F32 LLNormalTextSegment::draw(S32 start, S32 end, S32 selection_start, S32 selec  			// Center the image vertically  			S32 image_bottom = draw_rect.getCenterY() - (style_image_height/2);  			image->draw(draw_rect.mLeft, image_bottom,  -				style_image_width, style_image_height); +				style_image_width, style_image_height, color);  		}  		return drawClippedSegment( getStart() + start, getStart() + end, selection_start, selection_end, draw_rect); diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index c60b040655..0138ca3704 100644 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -136,7 +136,6 @@ public:  	// TODO: move into LLTextSegment?  	void					createUrlContextMenu(S32 x, S32 y, const std::string &url); // create a popup context menu for the given Url -  	// Text accessors  	// TODO: add optional style parameter  	virtual void			setText(const LLStringExplicit &utf8str , const LLStyle::Params& input_params = LLStyle::Params()); // uses default style @@ -148,6 +147,8 @@ public:  	LLWString       		getWText() const;  	void					appendText(const std::string &new_text, bool prepend_newline, const LLStyle::Params& input_params = LLStyle::Params()); +	// force reflow of text +	void					needsReflow() { mReflowNeeded = TRUE; }  	S32						getLength() const { return getWText().length(); }  	S32						getLineCount() const { return mLineInfoList.size(); } @@ -162,7 +163,6 @@ public:  	S32						getVPad() { return mVPad; }  	S32						getHPad() { return mHPad; } -  	S32						getDocIndexFromLocalCoord( S32 local_x, S32 local_y, BOOL round ) const;  	LLRect					getLocalRectFromDocIndex(S32 pos) const;  	LLRect					getDocRectFromDocIndex(S32 pos) const; @@ -180,6 +180,7 @@ public:  	void					changePage( S32 delta );  	void					changeLine( S32 delta ); +  	const LLFontGL*			getDefaultFont() const					{ return mDefaultFont; }  public: @@ -303,7 +304,6 @@ protected:  	// misc  	void							updateRects(); -	void							needsReflow() { mReflowNeeded = TRUE; }  	void							needsScroll() { mScrollNeeded = TRUE; }  	void							replaceUrlLabel(const std::string &url, const std::string &label); @@ -426,6 +426,7 @@ class LLNormalTextSegment : public LLTextSegment  public:  	LLNormalTextSegment( const LLStyleSP& style, S32 start, S32 end, LLTextBase& editor );  	LLNormalTextSegment( const LLColor4& color, S32 start, S32 end, LLTextBase& editor, BOOL is_visible = TRUE); +	~LLNormalTextSegment();  	/*virtual*/ bool				getDimensions(S32 first_char, S32 num_chars, S32& width, S32& height) const;  	/*virtual*/ S32					getOffset(S32 segment_local_x_coord, S32 start_offset, S32 num_chars, bool round) const; @@ -457,6 +458,7 @@ protected:  	S32					mFontHeight;  	LLKeywordToken* 	mToken;  	std::string     	mTooltip; +	boost::signals2::connection mImageLoadedConnection;  };  class LLIndexSegment : public LLTextSegment diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 4cf503b413..6603887905 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -1847,8 +1847,8 @@ LLControlGroup& LLUI::getControlControlGroup (const std::string& controlname)  // spawn_x and spawn_y are top left corner of view in screen GL coordinates  void LLUI::positionViewNearMouse(LLView* view, S32 spawn_x, S32 spawn_y)  { -	const S32 CURSOR_HEIGHT = 18;		// Approximate "normal" cursor size -	const S32 CURSOR_WIDTH = 9; +	const S32 CURSOR_HEIGHT = 16;		// Approximate "normal" cursor size +	const S32 CURSOR_WIDTH = 8;  	LLView* parent = view->getParent(); @@ -1866,7 +1866,7 @@ void LLUI::positionViewNearMouse(LLView* view, S32 spawn_x, S32 spawn_y)  	LLRect virtual_window_rect = parent->getLocalRect();  	LLRect mouse_rect; -	const S32 MOUSE_CURSOR_PADDING = 5; +	const S32 MOUSE_CURSOR_PADDING = 1;  	mouse_rect.setLeftTopAndSize(mouse_x - MOUSE_CURSOR_PADDING,   								mouse_y + MOUSE_CURSOR_PADDING,   								CURSOR_WIDTH + MOUSE_CURSOR_PADDING * 2,  diff --git a/indra/llui/lluiimage.cpp b/indra/llui/lluiimage.cpp index a8683e55c3..f941f391eb 100644 --- a/indra/llui/lluiimage.cpp +++ b/indra/llui/lluiimage.cpp @@ -39,18 +39,20 @@  #include "lluiimage.h"  #include "llui.h" -LLUIImage::LLUIImage(const std::string& name, LLPointer<LLTexture> image) : -						mName(name), -						mImage(image), -						mScaleRegion(0.f, 1.f, 1.f, 0.f), -						mClipRegion(0.f, 1.f, 1.f, 0.f), -						mUniformScaling(TRUE), -						mNoClip(TRUE) +LLUIImage::LLUIImage(const std::string& name, LLPointer<LLTexture> image) +:	mName(name), +	mImage(image), +	mScaleRegion(0.f, 1.f, 1.f, 0.f), +	mClipRegion(0.f, 1.f, 1.f, 0.f), +	mUniformScaling(TRUE), +	mNoClip(TRUE), +	mImageLoaded(NULL)  {  }  LLUIImage::~LLUIImage()  { +	delete mImageLoaded;  }  void LLUIImage::setClipRegion(const LLRectf& region)  @@ -138,6 +140,25 @@ S32 LLUIImage::getTextureHeight() const  	return mImage->getHeight(0);  } +boost::signals2::connection LLUIImage::addLoadedCallback( const image_loaded_signal_t::slot_type& cb )  +{ +	if (!mImageLoaded)  +	{ +		mImageLoaded = new image_loaded_signal_t(); +	} +	return mImageLoaded->connect(cb); +} + + +void LLUIImage::onImageLoaded() +{ +	if (mImageLoaded) +	{ +		(*mImageLoaded)(); +	} +} + +  namespace LLInitParam  {  	LLUIImage* TypedParam<LLUIImage*>::getValueFromBlock() const @@ -170,3 +191,4 @@ namespace LLInitParam  			return (a == b);  	}  } + diff --git a/indra/llui/lluiimage.h b/indra/llui/lluiimage.h index 9d734bcfdf..5fa9610ab2 100644 --- a/indra/llui/lluiimage.h +++ b/indra/llui/lluiimage.h @@ -39,6 +39,7 @@  #include "llrefcount.h"  #include "llrect.h"  #include <boost/function.hpp> +#include <boost/signals2.hpp>  #include "llinitparam.h"  #include "lltexture.h" @@ -47,6 +48,8 @@ extern const LLColor4 UI_VERTEX_COLOR;  class LLUIImage : public LLRefCount  {  public: +	typedef boost::signals2::signal<void (void)> image_loaded_signal_t; +  	LLUIImage(const std::string& name, LLPointer<LLTexture> image);  	virtual ~LLUIImage(); @@ -77,7 +80,13 @@ public:  	S32 getTextureWidth() const;  	S32 getTextureHeight() const; +	boost::signals2::connection addLoadedCallback( const image_loaded_signal_t::slot_type& cb ); + +	void onImageLoaded(); +  protected: +	image_loaded_signal_t* mImageLoaded; +  	std::string			mName;  	LLRectf				mScaleRegion;  	LLRectf				mClipRegion; diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h index 8602225108..127dbf45e0 100644 --- a/indra/llwindow/llwindow.h +++ b/indra/llwindow/llwindow.h @@ -70,6 +70,8 @@ public:  	virtual BOOL getMinimized() = 0;  	virtual BOOL getMaximized() = 0;  	virtual BOOL maximize() = 0; +	virtual void minimize() = 0; +	virtual void restore() = 0;  	BOOL getFullscreen()	{ return mFullscreen; };  	virtual BOOL getPosition(LLCoordScreen *position) = 0;  	virtual BOOL getSize(LLCoordScreen *size) = 0; diff --git a/indra/llwindow/llwindowheadless.h b/indra/llwindow/llwindowheadless.h index 3cffd2bbf6..59fc2ec657 100644 --- a/indra/llwindow/llwindowheadless.h +++ b/indra/llwindow/llwindowheadless.h @@ -45,6 +45,8 @@ public:  	/*virtual*/ BOOL getMinimized() {return FALSE;};  	/*virtual*/ BOOL getMaximized() {return FALSE;};  	/*virtual*/ BOOL maximize() {return FALSE;}; +	/*virtual*/ void minimize() {}; +	/*virtual*/ void restore() {};  	/*virtual*/ BOOL getFullscreen() {return FALSE;};  	/*virtual*/ BOOL getPosition(LLCoordScreen *position) {return FALSE;};  	/*virtual*/ BOOL getSize(LLCoordScreen *size) {return FALSE;}; diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index 86bbb0bcf8..ed62faece6 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -1033,6 +1033,7 @@ void LLWindowMacOSX::hide()  	HideWindow(mWindow);  } +//virtual  void LLWindowMacOSX::minimize()  {  	setMouseClipping(FALSE); @@ -1040,6 +1041,7 @@ void LLWindowMacOSX::minimize()  	CollapseWindow(mWindow, true);  } +//virtual  void LLWindowMacOSX::restore()  {  	show(); diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h index 17074080eb..fbfa07fab4 100644 --- a/indra/llwindow/llwindowmacosx.h +++ b/indra/llwindow/llwindowmacosx.h @@ -56,6 +56,8 @@ public:  	/*virtual*/ BOOL getMinimized();  	/*virtual*/ BOOL getMaximized();  	/*virtual*/ BOOL maximize(); +	/*virtual*/ void minimize(); +	/*virtual*/ void restore();  	/*virtual*/ BOOL getFullscreen();  	/*virtual*/ BOOL getPosition(LLCoordScreen *position);  	/*virtual*/ BOOL getSize(LLCoordScreen *size); @@ -139,9 +141,6 @@ protected:  	// Restore the display resolution to its value before we ran the app.  	BOOL	resetDisplayResolution(); -	void	minimize(); -	void	restore(); -  	BOOL	shouldPostQuit() { return mPostQuit; } diff --git a/indra/llwindow/llwindowmesaheadless.h b/indra/llwindow/llwindowmesaheadless.h index 46b62b914c..06146afde7 100644 --- a/indra/llwindow/llwindowmesaheadless.h +++ b/indra/llwindow/llwindowmesaheadless.h @@ -49,6 +49,8 @@ public:  	/*virtual*/ BOOL getMinimized() {return FALSE;};  	/*virtual*/ BOOL getMaximized() {return FALSE;};  	/*virtual*/ BOOL maximize() {return FALSE;}; +	/*virtual*/ void minimize() {}; +	/*virtual*/ void restore() {};  	/*virtual*/ BOOL getFullscreen() {return FALSE;};  	/*virtual*/ BOOL getPosition(LLCoordScreen *position) {return FALSE;};  	/*virtual*/ BOOL getSize(LLCoordScreen *size) {return FALSE;}; diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp index e671fc8a83..bfdf1147a1 100644 --- a/indra/llwindow/llwindowsdl.cpp +++ b/indra/llwindow/llwindowsdl.cpp @@ -839,11 +839,13 @@ void LLWindowSDL::hide()      // *FIX: What to do with SDL?  } +//virtual  void LLWindowSDL::minimize()  {      // *FIX: What to do with SDL?  } +//virtual  void LLWindowSDL::restore()  {      // *FIX: What to do with SDL? diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h index dcf41291ec..0ba1c861da 100644 --- a/indra/llwindow/llwindowsdl.h +++ b/indra/llwindow/llwindowsdl.h @@ -62,6 +62,8 @@ public:  	/*virtual*/ BOOL getMinimized();  	/*virtual*/ BOOL getMaximized();  	/*virtual*/ BOOL maximize(); +	/*virtual*/ void minimize(); +	/*virtual*/ void restore();  	/*virtual*/ BOOL getFullscreen();  	/*virtual*/ BOOL getPosition(LLCoordScreen *position);  	/*virtual*/ BOOL getSize(LLCoordScreen *size); @@ -165,9 +167,6 @@ protected:  	// Go back to last fullscreen display resolution.  	BOOL	setFullscreenResolution(); -	void	minimize(); -	void	restore(); -  	BOOL	shouldPostQuit() { return mPostQuit; }  protected: diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index c608c21d05..3b9c840e72 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -643,6 +643,7 @@ void LLWindowWin32::hide()  	ShowWindow(mWindowHandle, SW_HIDE);  } +//virtual  void LLWindowWin32::minimize()  {  	setMouseClipping(FALSE); @@ -650,7 +651,7 @@ void LLWindowWin32::minimize()  	ShowWindow(mWindowHandle, SW_MINIMIZE);  } - +//virtual  void LLWindowWin32::restore()  {  	ShowWindow(mWindowHandle, SW_RESTORE); diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h index e14324c9f1..e4e9179db7 100644 --- a/indra/llwindow/llwindowwin32.h +++ b/indra/llwindow/llwindowwin32.h @@ -54,6 +54,8 @@ public:  	/*virtual*/ BOOL getMinimized();  	/*virtual*/ BOOL getMaximized();  	/*virtual*/ BOOL maximize(); +	/*virtual*/ void minimize(); +	/*virtual*/ void restore();  	/*virtual*/ BOOL getFullscreen();  	/*virtual*/ BOOL getPosition(LLCoordScreen *position);  	/*virtual*/ BOOL getSize(LLCoordScreen *size); @@ -137,9 +139,6 @@ protected:  	// Restore the display resolution to its value before we ran the app.  	BOOL	resetDisplayResolution(); -	void	minimize(); -	void	restore(); -  	BOOL	shouldPostQuit() { return mPostQuit; }  	void	fillCompositionForm(const LLRect& bounds, COMPOSITIONFORM *form); diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 57d67bd560..be6bce8054 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -389,6 +389,7 @@ set(viewer_SOURCE_FILES      llsplitbutton.cpp      llsprite.cpp      llstartup.cpp +    llstartuplistener.cpp      llstatusbar.cpp      llstylemap.cpp      llsurface.cpp @@ -892,6 +893,7 @@ set(viewer_HEADER_FILES      llsplitbutton.h      llsprite.h      llstartup.h +    llstartuplistener.h      llstatusbar.h      llstylemap.h      llsurface.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ec28603d25..c43032a3cf 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1044,7 +1044,7 @@        <key>Type</key>        <string>S32</string>        <key>Value</key> -      <integer>10</integer> +      <integer>4</integer>      </map>      <key>ButtonHeight</key>      <map> @@ -1055,7 +1055,7 @@        <key>Type</key>        <string>S32</string>        <key>Value</key> -      <integer>20</integer> +      <integer>23</integer>      </map>      <key>ButtonHeightSmall</key>      <map> @@ -1066,7 +1066,7 @@        <key>Type</key>        <string>S32</string>        <key>Value</key> -      <integer>16</integer> +      <integer>23</integer>      </map>      <key>ButtonVPad</key>      <map> diff --git a/indra/newview/llcolorswatch.cpp b/indra/newview/llcolorswatch.cpp index 442e9ab27b..b2399d238b 100644 --- a/indra/newview/llcolorswatch.cpp +++ b/indra/newview/llcolorswatch.cpp @@ -306,6 +306,18 @@ void LLColorSwatchCtrl::onColorChanged ( void* data, EColorPickOp pick_op )  	}  } +void LLColorSwatchCtrl::onFloaterClose() +{ +	LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)mPickerHandle.get(); + +	if (pickerp) +	{ +		pickerp->setSwatch(NULL); +	} + +	mPickerHandle.markDead(); +} +  void LLColorSwatchCtrl::setValid(BOOL valid )  {  	mValid = valid; @@ -323,7 +335,7 @@ void LLColorSwatchCtrl::showPicker(BOOL take_focus)  	if (!pickerp)  	{  		pickerp = new LLFloaterColorPicker(this, mCanApplyImmediately); -		gFloaterView->getParentFloater(this)->addDependentFloater(pickerp); +		//gFloaterView->getParentFloater(this)->addDependentFloater(pickerp);  		mPickerHandle = pickerp->getHandle();  	} diff --git a/indra/newview/llcolorswatch.h b/indra/newview/llcolorswatch.h index e3e267f831..2f6aec85e8 100644 --- a/indra/newview/llcolorswatch.h +++ b/indra/newview/llcolorswatch.h @@ -105,6 +105,7 @@ public:  	/*virtual*/ void	setEnabled( BOOL enabled );  	static void		onColorChanged ( void* data, EColorPickOp pick_op = COLOR_CHANGE ); +	void			onFloaterClose();  protected:  	BOOL			mValid; diff --git a/indra/newview/llfloateranimpreview.cpp b/indra/newview/llfloateranimpreview.cpp index eae2747cc9..9e6ef2fc4d 100644 --- a/indra/newview/llfloateranimpreview.cpp +++ b/indra/newview/llfloateranimpreview.cpp @@ -208,7 +208,12 @@ BOOL LLFloaterAnimPreview::postBuild()  	mPlayButton = getChild<LLButton>( "play_btn");  	mPlayButton->setClickedCallback(onBtnPlay, this); +	mPlayButton->setVisible(true); +	mPauseButton = getChild<LLButton>( "pause_btn"); +	mPauseButton->setClickedCallback(onBtnPause, this); +	mPauseButton->setVisible(false); +	  	mStopButton = getChild<LLButton>( "stop_btn");  	mStopButton->setClickedCallback(onBtnStop, this); @@ -560,24 +565,60 @@ void LLFloaterAnimPreview::onBtnPlay(void* user_data)  	if (previewp->mMotionID.notNull() && previewp->mAnimPreview)  	{  		LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); - +		  		if(!avatarp->isMotionActive(previewp->mMotionID))  		{  			previewp->resetMotion();  			previewp->mPauseRequest = NULL; +			previewp->mPauseButton->setVisible(TRUE); +			previewp->mPauseButton->setEnabled(TRUE); +			previewp->mPlayButton->setVisible(FALSE); +			previewp->mPlayButton->setEnabled(FALSE);  		} -		else +		else if (avatarp->areAnimationsPaused())  		{ -			if (avatarp->areAnimationsPaused()) -			{ -				previewp->mPauseRequest = NULL; -			} -			else +			 +			previewp->mPauseRequest = NULL; +			previewp->mPauseButton->setVisible(TRUE); +			previewp->mPauseButton->setEnabled(TRUE); +			previewp->mPlayButton->setVisible(FALSE); +			previewp->mPlayButton->setEnabled(FALSE); +		} + +	} + +	 + +} + +//----------------------------------------------------------------------------- +// onBtnPause() +//----------------------------------------------------------------------------- +void LLFloaterAnimPreview::onBtnPause(void* user_data) +{ +	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data; +	if (!previewp->getEnabled()) +		return; +	 +	if (previewp->mMotionID.notNull() && previewp->mAnimPreview) +	{ +		LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); + +		if(avatarp->isMotionActive(previewp->mMotionID)) +		{ +			if (!avatarp->areAnimationsPaused())  			{  				previewp->mPauseRequest = avatarp->requestPause(); +				 +				previewp->mPlayButton->setVisible(TRUE); +				previewp->mPlayButton->setEnabled(TRUE); +				previewp->mPauseButton->setVisible(FALSE); +				previewp->mPauseButton->setEnabled(FALSE);  			}  		}  	} + +  }  //----------------------------------------------------------------------------- @@ -595,6 +636,10 @@ void LLFloaterAnimPreview::onBtnStop(void* user_data)  		previewp->resetMotion();  		previewp->mPauseRequest = avatarp->requestPause();  	} +	previewp->mPlayButton->setVisible(TRUE); +	previewp->mPlayButton->setEnabled(TRUE); +	previewp->mPauseButton->setVisible(FALSE); +	previewp->mPauseButton->setEnabled(FALSE);  }  //----------------------------------------------------------------------------- @@ -912,43 +957,38 @@ void LLFloaterAnimPreview::refresh()  	{  		childShow("bad_animation_text");  		mPlayButton->setEnabled(FALSE); +		mPlayButton->setVisible(TRUE); +		mPauseButton->setVisible(FALSE);  		mStopButton->setEnabled(FALSE);  		childDisable("ok_btn");  	}  	else  	{  		childHide("bad_animation_text"); -		mPlayButton->setEnabled(TRUE);  		LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar();  		if (avatarp->isMotionActive(mMotionID))  		{  			mStopButton->setEnabled(TRUE);  			LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID); -			if (avatarp->areAnimationsPaused()) -			{ - -				mPlayButton->setImages(std::string("button_anim_play.tga"), -									   std::string("button_anim_play_selected.tga")); - -			} -			else +			if (!avatarp->areAnimationsPaused())  			{  				if (motionp)  				{  					F32 fraction_complete = motionp->getLastUpdateTime() / motionp->getDuration();  					childSetValue("playback_slider", fraction_complete);  				} -				mPlayButton->setImages(std::string("button_anim_pause.tga"), -									   std::string("button_anim_pause_selected.tga")); - +			 +				mPlayButton->setVisible(FALSE); +				mPauseButton->setVisible(TRUE); +				  			} +		  		}  		else  		{  			mPauseRequest = avatarp->requestPause(); -			mPlayButton->setImages(std::string("button_anim_play.tga"), -								   std::string("button_anim_play_selected.tga")); - +			//mPlayButton->setVisible(TRUE); +			//mPlayButton->setEnabled(TRUE);			  			mStopButton->setEnabled(TRUE); // stop also resets, leave enabled.  		}  		childEnable("ok_btn"); diff --git a/indra/newview/llfloateranimpreview.h b/indra/newview/llfloateranimpreview.h index f1c4a6b0d0..09b04f1f42 100644 --- a/indra/newview/llfloateranimpreview.h +++ b/indra/newview/llfloateranimpreview.h @@ -87,6 +87,7 @@ public:  	void refresh();  	static void	onBtnPlay(void*); +	static void	onBtnPause(void*);	  	static void	onBtnStop(void*);  	static void onSliderMove(LLUICtrl*, void*);  	static void onCommitBaseAnim(LLUICtrl*, void*); @@ -119,6 +120,7 @@ protected:  	S32					mLastMouseX;  	S32					mLastMouseY;  	LLButton*			mPlayButton; +	LLButton*			mPauseButton;	  	LLButton*			mStopButton;  	LLRect				mPreviewRect;  	LLRectf				mPreviewImageRect; diff --git a/indra/newview/llfloatercolorpicker.cpp b/indra/newview/llfloatercolorpicker.cpp index 73b79d8e13..56b56dc3d2 100644 --- a/indra/newview/llfloatercolorpicker.cpp +++ b/indra/newview/llfloatercolorpicker.cpp @@ -241,6 +241,16 @@ BOOL LLFloaterColorPicker::postBuild()      return TRUE;  } +/*virtual*/  +void LLFloaterColorPicker::onClose(bool app_settings) +{ +	if (mSwatch) +	{ +		mSwatch->onFloaterClose(); +	} +	stopUsingPipette(); +} +  //////////////////////////////////////////////////////////////////////////////  //  void LLFloaterColorPicker::initUI ( F32 rValIn, F32 gValIn, F32 bValIn ) diff --git a/indra/newview/llfloatercolorpicker.h b/indra/newview/llfloatercolorpicker.h index a16cde7f10..b381740acd 100644 --- a/indra/newview/llfloatercolorpicker.h +++ b/indra/newview/llfloatercolorpicker.h @@ -56,6 +56,7 @@ class LLFloaterColorPicker  		// overrides  		virtual BOOL postBuild (); +		virtual void onClose(bool app_settings);  		virtual void draw ();  		virtual BOOL handleMouseDown ( S32 x, S32 y, MASK mask );  		virtual BOOL handleMouseUp ( S32 x, S32 y, MASK mask ); @@ -69,6 +70,7 @@ class LLFloaterColorPicker  		void destroyUI ();  		void cancelSelection ();  		LLColorSwatchCtrl* getSwatch () { return mSwatch; }; +		void setSwatch( LLColorSwatchCtrl* swatch) { mSwatch = swatch; }  		// mutator / accessor for original RGB value  		void setOrigRgb ( F32 origRIn, F32 origGIn, F32 origBIn ); diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 1c1f27a259..ab27375b87 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -251,7 +251,7 @@ bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFlo  		{  			floater->setAllIgnored();  			LLFirstUse::disableFirstUse(); -			LLFloaterPreference::buildLists(floater); +			floater->buildPopupLists();  		}  	}  	return false; @@ -266,7 +266,7 @@ bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFl  		{  			floater->resetAllIgnored();  			LLFirstUse::resetFirstUse(); -			LLFloaterPreference::buildLists(floater); +			floater->buildPopupLists();  		}  	}  	return false; @@ -391,6 +391,7 @@ LLFloaterPreference::~LLFloaterPreference()  		ctrl_window_size->setCurrentByIndex(i);  	}  } +  void LLFloaterPreference::draw()  {  	BOOL has_first_selected = (getChildRef<LLScrollListCtrl>("disabled_popups").getFirstSelected()!=NULL); @@ -548,17 +549,17 @@ void LLFloaterPreference::cancel()  void LLFloaterPreference::onOpen(const LLSD& key)  {  	gAgent.sendAgentUserInfoRequest(); +  	/////////////////////////// From LLPanelGeneral //////////////////////////  	// if we have no agent, we can't let them choose anything  	// if we have an agent, then we only let them choose if they have a choice -	bool canChoose = gAgent.getID().notNull() && -	(gAgent.isMature() || gAgent.isGodlike()); +	bool can_choose_maturity = +		gAgent.getID().notNull() &&	(gAgent.isMature() || gAgent.isGodlike());  	LLComboBox* maturity_combo = getChild<LLComboBox>("maturity_desired_combobox"); -	if (canChoose) -	{ -		 +	if (can_choose_maturity) +	{		  		// if they're not adult or a god, they shouldn't see the adult selection, so delete it  		if (!gAgent.isAdult() && !gAgent.isGodlike())  		{ @@ -568,8 +569,7 @@ void LLFloaterPreference::onOpen(const LLSD& key)  			maturity_combo->remove(0);  		}  		childSetVisible("maturity_desired_combobox", true); -		childSetVisible("maturity_desired_textbox", false); -		 +		childSetVisible("maturity_desired_textbox", false);		  	}  	else  	{ @@ -577,6 +577,10 @@ void LLFloaterPreference::onOpen(const LLSD& key)  		childSetVisible("maturity_desired_combobox", false);  	} +	// Enabled/disabled popups, might have been changed by user actions +	// while preferences floater was closed. +	buildPopupLists(); +  	LLPanelLogin::setAlwaysRefresh(true);  	refresh(); @@ -717,14 +721,6 @@ void LLFloaterPreference::updateMeterText(LLUICtrl* ctrl)  	m1->setVisible(two_digits);  	m2->setVisible(!two_digits);  } -/* -void LLFloaterPreference::onClickClearCache() -{ -	// flag client cache for clearing next time the client runs -	gSavedSettings.setBOOL("PurgeCacheOnNextStartup", TRUE); -	LLNotificationsUtil::add("CacheWillClear"); -} -*/  void LLFloaterPreference::onClickBrowserClearCache()  { @@ -794,12 +790,13 @@ void LLFloaterPreference::refreshSkin(void* data)  	self->getChild<LLRadioGroup>("skin_selection", true)->setValue(sSkin);  } -// static -void LLFloaterPreference::buildLists(void* data) + +void LLFloaterPreference::buildPopupLists()  { -	LLPanel*self = (LLPanel*)data; -	LLScrollListCtrl& disabled_popups = self->getChildRef<LLScrollListCtrl>("disabled_popups"); -	LLScrollListCtrl& enabled_popups = self->getChildRef<LLScrollListCtrl>("enabled_popups"); +	LLScrollListCtrl& disabled_popups = +		getChildRef<LLScrollListCtrl>("disabled_popups"); +	LLScrollListCtrl& enabled_popups = +		getChildRef<LLScrollListCtrl>("enabled_popups");  	disabled_popups.deleteAllItems();  	enabled_popups.deleteAllItems(); @@ -861,8 +858,7 @@ void LLFloaterPreference::buildLists(void* data)  }  void LLFloaterPreference::refreshEnabledState() -{ -	 +{	  	LLCheckBoxCtrl* ctrl_reflections = getChild<LLCheckBoxCtrl>("Reflections");  	LLRadioGroup* radio_reflection_detail = getChild<LLRadioGroup>("ReflectionDetailRadio"); @@ -1111,7 +1107,7 @@ void LLFloaterPreference::onClickEnablePopup()  		LLUI::sSettingGroups["ignores"]->setBOOL(notification_name, TRUE);  	} -	buildLists(this); +	buildPopupLists();  }  void LLFloaterPreference::onClickDisablePopup() @@ -1128,8 +1124,9 @@ void LLFloaterPreference::onClickDisablePopup()  		LLUI::sSettingGroups["ignores"]->setBOOL(notification_name, FALSE);  	} -	buildLists(this); +	buildPopupLists();  } +  void LLFloaterPreference::resetAllIgnored()  {  	for (LLNotifications::TemplateMap::const_iterator iter = LLNotifications::instance().templatesBegin(); @@ -1428,17 +1425,11 @@ BOOL LLPanelPreference::postBuild()  		}  	} -	////////////////////////Panel Popups///////////////// -	if(hasChild("disabled_popups") && hasChild("enabled_popups")) -	{ -		LLFloaterPreference::buildLists(this); -	} -	////// +  	if(hasChild("online_visibility") && hasChild("send_im_to_email"))  	{  		childSetText("email_address",getString("log_in_to_change") ); -//		childSetText("busy_response", getString("log_in_to_change")); -		 +//		childSetText("busy_response", getString("log_in_to_change"));		  	} @@ -1573,8 +1564,7 @@ void LLPanelPreference::saveSettings()  		{  			view_stack.push_back(*iter);  		} -	} -	 +	}	  }  void LLPanelPreference::cancel() @@ -1607,4 +1597,3 @@ void LLPanelPreference::setControlFalse(const LLSD& user_data)  	if (control)  		control->set(LLSD(FALSE));  } - diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index a30422564a..d292f3bb7b 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -85,7 +85,6 @@ protected:  	void		onBtnCancel();  	void		onBtnApply(); -//	void		onClickClearCache();  	void		onClickBrowserClearCache();  	// if the custom settings box is clicked @@ -141,7 +140,7 @@ public:  	static void initWindowSizeControls(LLPanel* panelp); -	static void buildLists(void* data); +	void buildPopupLists();  	static void refreshSkin(void* data);  	static void cleanupBadSetting();  	static F32 sAspectRatio;	 @@ -153,7 +152,6 @@ private:  	bool mOriginalHideOnlineStatus;  	std::string mDirectoryVisibility; -  };  class LLPanelPreference : public LLPanel diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 4e77b42187..1c5d7ae9b9 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -357,6 +357,16 @@ void LLFolderView::openFolder(const std::string& foldername)  	}  } +void LLFolderView::openTopLevelFolders() +{ +	for (folders_t::iterator iter = mFolders.begin(); +		 iter != mFolders.end();) +	{ +		folders_t::iterator fit = iter++; +		(*fit)->setOpen(TRUE); +	} +} +  void LLFolderView::setOpenArrangeRecursively(BOOL openitem, ERecurseType recurse)  {  	// call base class to do proper recursion @@ -890,7 +900,7 @@ void LLFolderView::draw()  		}  		else  		{ -			mStatusText = LLTrans::getString("InventoryNoMatchingItems"); +			mStatusText = LLTrans::getString(getFilter()->getEmptyLookupMessage());  			font->renderUTF8(mStatusText, 0, 2, 1, sSearchStatusColor, LLFontGL::LEFT, LLFontGL::TOP, LLFontGL::NORMAL,  LLFontGL::NO_SHADOW, S32_MAX, S32_MAX, NULL, FALSE );  		}  	} diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h index 4adf6c2fbf..d18ba385d8 100644 --- a/indra/newview/llfolderview.h +++ b/indra/newview/llfolderview.h @@ -127,6 +127,7 @@ public:  	// Close all folders in the view  	void closeAllFolders();  	void openFolder(const std::string& foldername); +	void openTopLevelFolders();  	virtual void toggleOpen() {};  	virtual void setOpenArrangeRecursively(BOOL openitem, ERecurseType recurse); diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 63511301b3..5bef306485 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -62,6 +62,7 @@ const F32 LLFolderViewItem::FOLDER_OPEN_TIME_CONSTANT = 0.03f;  const LLColor4U DEFAULT_WHITE(255, 255, 255); +  //static  LLFontGL* LLFolderViewItem::getLabelFontForStyle(U8 style)  { @@ -387,7 +388,9 @@ BOOL LLFolderViewItem::addToFolder(LLFolderViewFolder* folder, LLFolderView* roo  // makes sure that this view and it's children are the right size.  S32 LLFolderViewItem::arrange( S32* width, S32* height, S32 filter_generation)  { -	mIndentation = getParentFolder() && getParentFolder()->getParentFolder()  +	mIndentation = (getParentFolder()  +					&& getParentFolder()->getParentFolder()  +					&& getParentFolder()->getParentFolder()->getParentFolder())  		? mParentFolder->getIndentation() + LEFT_INDENTATION   		: 0;  	if (mLabelWidthDirty) @@ -735,15 +738,6 @@ BOOL LLFolderViewItem::handleDoubleClick( S32 x, S32 y, MASK mask )  	return TRUE;  } -BOOL LLFolderViewItem::handleScrollWheel(S32 x, S32 y, S32 clicks) -{ -	if (getParent()) -	{ -		return getParent()->handleScrollWheel(x, y, clicks); -	} -	return FALSE; -} -  BOOL LLFolderViewItem::handleMouseUp( S32 x, S32 y, MASK mask )  {  	if (LLView::childrenHandleMouseUp(x, y, mask)) @@ -2153,12 +2147,6 @@ BOOL LLFolderViewFolder::handleHover(S32 x, S32 y, MASK mask)  		handled = LLFolderViewItem::handleHover(x, y, mask);  	} -	//if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD && y > getRect().getHeight() - ) -	//{ -	//	gViewerWindow->setCursor(UI_CURSOR_ARROW); -	//	mExpanderHighlighted = TRUE; -	//	handled = TRUE; -	//}  	return handled;  } @@ -2171,7 +2159,7 @@ BOOL LLFolderViewFolder::handleMouseDown( S32 x, S32 y, MASK mask )  	}  	if( !handled )  	{ -		if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD) +		if(mIndentation < x && x < mIndentation + ARROW_SIZE + TEXT_PAD)  		{  			toggleOpen();  			handled = TRUE; @@ -2205,7 +2193,7 @@ BOOL LLFolderViewFolder::handleDoubleClick( S32 x, S32 y, MASK mask )  	}  	if( !handled )  	{ -		if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD) +		if(mIndentation < x && x < mIndentation + ARROW_SIZE + TEXT_PAD)  		{  			// don't select when user double-clicks plus sign  			// so as not to contradict single-click behavior diff --git a/indra/newview/llfolderviewitem.h b/indra/newview/llfolderviewitem.h index f6264ec968..0ea031108b 100644 --- a/indra/newview/llfolderviewitem.h +++ b/indra/newview/llfolderviewitem.h @@ -110,7 +110,7 @@ public:  	// layout constants  	static const S32 LEFT_PAD = 5; -	static const S32 LEFT_INDENTATION = 8; +	static const S32 LEFT_INDENTATION = 2;  	static const S32 ICON_PAD = 2;  	static const S32 ICON_WIDTH = 16;  	static const S32 TEXT_PAD = 1; @@ -319,7 +319,6 @@ public:  	virtual BOOL handleHover( S32 x, S32 y, MASK mask );  	virtual BOOL handleMouseUp( S32 x, S32 y, MASK mask );  	virtual BOOL handleDoubleClick( S32 x, S32 y, MASK mask ); -	virtual BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);  	//	virtual void handleDropped();  	virtual void draw(); diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 28b982d386..3746e9cfeb 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -714,20 +714,20 @@ BOOL LLInvFVBridge::isItemPermissive() const  // static  void LLInvFVBridge::changeItemParent(LLInventoryModel* model,  									 LLViewerInventoryItem* item, -									 const LLUUID& new_parent, +									 const LLUUID& new_parent_id,  									 BOOL restamp)  { -	if(item->getParentUUID() != new_parent) +	if(item->getParentUUID() != new_parent_id)  	{  		LLInventoryModel::update_list_t update;  		LLInventoryModel::LLCategoryUpdate old_folder(item->getParentUUID(),-1);  		update.push_back(old_folder); -		LLInventoryModel::LLCategoryUpdate new_folder(new_parent, 1); +		LLInventoryModel::LLCategoryUpdate new_folder(new_parent_id, 1);  		update.push_back(new_folder);  		gInventory.accountForUpdate(update);  		LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item); -		new_item->setParent(new_parent); +		new_item->setParent(new_parent_id);  		new_item->updateParentOnServer(restamp);  		model->updateItem(new_item);  		model->notifyObservers(); @@ -737,24 +737,27 @@ void LLInvFVBridge::changeItemParent(LLInventoryModel* model,  // static  void LLInvFVBridge::changeCategoryParent(LLInventoryModel* model,  										 LLViewerInventoryCategory* cat, -										 const LLUUID& new_parent, +										 const LLUUID& new_parent_id,  										 BOOL restamp)  { -	if(cat->getParentUUID() != new_parent) +	// Can't move a folder into a child of itself. +	if (model->isObjectDescendentOf(new_parent_id, cat->getUUID()))  	{ -		LLInventoryModel::update_list_t update; -		LLInventoryModel::LLCategoryUpdate old_folder(cat->getParentUUID(), -1); -		update.push_back(old_folder); -		LLInventoryModel::LLCategoryUpdate new_folder(new_parent, 1); -		update.push_back(new_folder); -		gInventory.accountForUpdate(update); - -		LLPointer<LLViewerInventoryCategory> new_cat = new LLViewerInventoryCategory(cat); -		new_cat->setParent(new_parent); -		new_cat->updateParentOnServer(restamp); -		model->updateCategory(new_cat); -		model->notifyObservers(); +		return;  	} + +	LLInventoryModel::update_list_t update; +	LLInventoryModel::LLCategoryUpdate old_folder(cat->getParentUUID(), -1); +	update.push_back(old_folder); +	LLInventoryModel::LLCategoryUpdate new_folder(new_parent_id, 1); +	update.push_back(new_folder); +	model->accountForUpdate(update); +	 +	LLPointer<LLViewerInventoryCategory> new_cat = new LLViewerInventoryCategory(cat); +	new_cat->setParent(new_parent_id); +	new_cat->updateParentOnServer(restamp); +	model->updateCategory(new_cat); +	model->notifyObservers();  } @@ -2243,11 +2246,6 @@ BOOL LLFolderBridge::removeItem()  	LLNotification::Params params("ConfirmDeleteProtectedCategory");  	params.payload(payload).substitutions(args).functor.function(boost::bind(&LLFolderBridge::removeItemResponse, this, _1, _2)); -	//params.functor.function(boost::bind(&LLFolderBridge::removeItemResponse, this, _1, _2)); -	/* -	LLNotification::Params params("ChangeLindenEstate"); -	params.functor.function(boost::bind(&LLPanelEstateInfo::callbackChangeLindenEstate, this, _1, _2)); -	*/  	if (LLFolderType::lookupIsProtectedType(cat->getPreferredType()))  	{  		LLNotifications::instance().add(params); @@ -2278,14 +2276,16 @@ bool LLFolderBridge::removeItemResponse(const LLSD& notification, const LLSD& re  		LLInventoryModel::item_array_t	descendent_items;  		gInventory.collectDescendents( mUUID, descendent_categories, descendent_items, FALSE ); -		S32 i; -		for (i = 0; i < descendent_items.count(); i++) +		for (LLInventoryModel::item_array_t::const_iterator iter = descendent_items.begin(); +			 iter != descendent_items.end(); +			 ++iter)  		{ -			LLInventoryItem* item = descendent_items[i]; +			const LLViewerInventoryItem* item = (*iter); +			const LLUUID& item_id = item->getUUID();  			if (item->getType() == LLAssetType::AT_GESTURE -				&& LLGestureManager::instance().isGestureActive(item->getUUID())) +				&& LLGestureManager::instance().isGestureActive(item_id))  			{ -				LLGestureManager::instance().deactivateGesture(item->getUUID()); +				LLGestureManager::instance().deactivateGesture(item_id);  			}  		} @@ -2306,14 +2306,16 @@ void LLFolderBridge::pasteFromClipboard()  	LLInventoryModel* model = getInventoryModel();  	if(model && isClipboardPasteable())  	{ -		LLInventoryItem* item = NULL; +		const LLUUID parent_id(mUUID); +  		LLDynamicArray<LLUUID> objects;  		LLInventoryClipboard::instance().retrieve(objects); -		S32 count = objects.count(); -		const LLUUID parent_id(mUUID); -		for(S32 i = 0; i < count; i++) +		for (LLDynamicArray<LLUUID>::const_iterator iter = objects.begin(); +			 iter != objects.end(); +			 ++iter)  		{ -			item = model->getItem(objects.get(i)); +			const LLUUID& item_id = (*iter); +			LLInventoryItem *item = model->getItem(item_id);  			if (item)  			{  				if(LLInventoryClipboard::instance().isCutMode()) @@ -2342,13 +2344,15 @@ void LLFolderBridge::pasteLinkFromClipboard()  	const LLInventoryModel* model = getInventoryModel();  	if(model)  	{ +		const LLUUID parent_id(mUUID); +  		LLDynamicArray<LLUUID> objects;  		LLInventoryClipboard::instance().retrieve(objects); -		S32 count = objects.count(); -		LLUUID parent_id(mUUID); -		for(S32 i = 0; i < count; i++) +		for (LLDynamicArray<LLUUID>::const_iterator iter = objects.begin(); +			 iter != objects.end(); +			 ++iter)  		{ -			const LLUUID &object_id = objects.get(i); +			const LLUUID &object_id = (*iter);  #if SUPPORT_ENSEMBLES  			if (LLInventoryCategory *cat = model->getCategory(object_id))  			{ diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index 8907bf4c1c..81b10f5a62 100644 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -63,7 +63,8 @@ LLInventoryFilter::FilterOps::FilterOps() :  LLInventoryFilter::LLInventoryFilter(const std::string& name)  :	mName(name),  	mModified(FALSE), -	mNeedTextRebuild(TRUE) +	mNeedTextRebuild(TRUE), +	mEmptyLookupMessage("InventoryNoMatchingItems")  {  	mOrder = SO_FOLDERS_BY_NAME; // This gets overridden by a pref immediately @@ -115,8 +116,6 @@ BOOL LLInventoryFilter::checkAgainstFilterType(const LLFolderViewItem* item)  	const LLUUID object_id = listener->getUUID();  	const LLInventoryObject *object = gInventory.getObject(object_id); -	if (!object) return FALSE; -  	const U32 filterTypes = mFilterOps.mFilterTypes;  	//////////////////////////////////////////////////////////////////////////////// @@ -127,11 +126,13 @@ BOOL LLInventoryFilter::checkAgainstFilterType(const LLFolderViewItem* item)  		// If it has no type, pass it, unless it's a link.  		if (object_type == LLInventoryType::IT_NONE)  		{ -			if (object->getIsLinkType()) +			if (object && object->getIsLinkType())  				return FALSE;  		} -		if ((1LL << object_type & mFilterOps.mFilterObjectTypes) == U64(0)) +		else if ((1LL << object_type & mFilterOps.mFilterObjectTypes) == U64(0)) +		{  			return FALSE; +		}  	}  	//  	//////////////////////////////////////////////////////////////////////////////// @@ -143,6 +144,10 @@ BOOL LLInventoryFilter::checkAgainstFilterType(const LLFolderViewItem* item)  	// if its parent is a category of the filter type.  	if (filterTypes & FILTERTYPE_CATEGORY)  	{ +		// Can only filter categories for items in your inventory  +		// (e.g. versus in-world object contents). +		if (!object) return FALSE; +  		LLUUID cat_id = object_id;  		if (listener->getInventoryType() != LLInventoryType::IT_CATEGORY)  		{ @@ -163,6 +168,8 @@ BOOL LLInventoryFilter::checkAgainstFilterType(const LLFolderViewItem* item)  	// Pass if this item is the target UUID or if it links to the target UUID  	if (filterTypes & FILTERTYPE_UUID)  	{ +		if (!object) return FALSE; +  		if (object->getLinkedUUID() != mFilterOps.mFilterUUID)  			return FALSE;  	} @@ -855,3 +862,14 @@ S32 LLInventoryFilter::getMustPassGeneration() const  {   	return mMustPassGeneration;   } + +void LLInventoryFilter::setEmptyLookupMessage(const std::string& message) +{ +	mEmptyLookupMessage = message; +} + +const std::string& LLInventoryFilter::getEmptyLookupMessage() const +{ +	return mEmptyLookupMessage; + +} diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h index 8cac173fd8..5ca77cb26a 100644 --- a/indra/newview/llinventoryfilter.h +++ b/indra/newview/llinventoryfilter.h @@ -74,13 +74,6 @@ public:  	virtual ~LLInventoryFilter();  	// +-------------------------------------------------------------------+ -	// + Execution And Results -	// +-------------------------------------------------------------------+ -	BOOL 				check(const LLFolderViewItem* item); -	BOOL 				checkAgainstFilterType(const LLFolderViewItem* item); -	std::string::size_type getStringMatchOffset() const; - -	// +-------------------------------------------------------------------+  	// + Parameters  	// +-------------------------------------------------------------------+  	void 				setFilterObjectTypes(U64 types); @@ -104,12 +97,25 @@ public:  	void 				setHoursAgo(U32 hours);  	U32 				getHoursAgo() const; +	// +-------------------------------------------------------------------+ +	// + Execution And Results +	// +-------------------------------------------------------------------+ +	BOOL 				check(const LLFolderViewItem* item); +	BOOL 				checkAgainstFilterType(const LLFolderViewItem* item); +	std::string::size_type getStringMatchOffset() const; + +	// +-------------------------------------------------------------------+ +	// + Presentation +	// +-------------------------------------------------------------------+  	void 				setShowFolderState( EFolderShow state);  	EFolderShow 		getShowFolderState() const;  	void 				setSortOrder(U32 order);  	U32 				getSortOrder() const; +	void 				setEmptyLookupMessage(const std::string& message); +	const std::string&	getEmptyLookupMessage() const; +  	// +-------------------------------------------------------------------+  	// + Status  	// +-------------------------------------------------------------------+ @@ -188,6 +194,7 @@ private:  	BOOL 					mModified;  	BOOL 					mNeedTextRebuild;  	std::string 			mFilterText; +	std::string 			mEmptyLookupMessage;  };  #endif diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index fb9be1e04f..5d8a8805b5 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -192,6 +192,8 @@ void LLInventoryModel::cleanupInventory()  BOOL LLInventoryModel::isObjectDescendentOf(const LLUUID& obj_id,  											const LLUUID& cat_id) const  { +	if (obj_id == cat_id) return TRUE; +  	const LLInventoryObject* obj = getObject(obj_id);  	while(obj)  	{ diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h index cbbd433c1d..4f7f0a79f6 100644 --- a/indra/newview/llinventorypanel.h +++ b/indra/newview/llinventorypanel.h @@ -192,6 +192,7 @@ protected:  public:  	BOOL 				getIsViewsInitialized() const { return mViewsInitialized; }  	const LLUUID&		getStartFolderID() const { return mStartFolderID; } +	const std::string&  getStartFolderString() { return mStartFolderString; }  protected:  	// Builds the UI.  Call this once the inventory is usable.  	void 				initializeViews(); diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 758d8ff903..98ca339f0c 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -810,13 +810,8 @@ void LLLocationInputCtrl::updateWidgetlayout()  {  	const LLRect&	rect			= getLocalRect();  	const LLRect&	hist_btn_rect	= mButton->getRect(); -	LLRect			info_btn_rect	= mInfoBtn->getRect(); -	// info button -	info_btn_rect.setOriginAndSize( -		2, (rect.getHeight() - info_btn_rect.getHeight()) / 2, -		info_btn_rect.getWidth(), info_btn_rect.getHeight()); -	mInfoBtn->setRect(info_btn_rect); +	// Info button is set in the XUI XML location_input.xml  	// "Add Landmark" button  	LLRect al_btn_rect = mAddLandmarkBtn->getRect(); diff --git a/indra/newview/llloginhandler.cpp b/indra/newview/llloginhandler.cpp index 2a1f42c3c4..1be3430e07 100644 --- a/indra/newview/llloginhandler.cpp +++ b/indra/newview/llloginhandler.cpp @@ -40,9 +40,12 @@  #include "llurlsimstring.h"  #include "llviewercontrol.h"		// gSavedSettings  #include "llviewernetwork.h"		// EGridInfo +#include "llviewerwindow.h"			// getWindow()  // library includes  #include "llmd5.h" +#include "llweb.h" +#include "llwindow.h"  // Must have instance to auto-register with LLCommandDispatcher @@ -174,6 +177,32 @@ bool LLLoginHandler::handle(const LLSD& tokens,  		return true;  	} +	if (tokens.size() == 1 +		&& tokens[0].asString() == "reg") +	{ +		LLWindow* window = gViewerWindow->getWindow(); +		window->incBusyCount(); +		window->setCursor(UI_CURSOR_ARROW); + +		// Do this first, as it may be slow and we want to keep something +		// on the user's screen as long as possible +		LLWeb::loadURLExternal( "http://join.eniac15.lindenlab.com/" ); + +		window->decBusyCount(); +		window->setCursor(UI_CURSOR_ARROW); + +		// Then hide the window +		window->minimize(); +		return true; +	} + +	// Make sure window is visible +	LLWindow* window = gViewerWindow->getWindow(); +	if (window->getMinimized()) +	{ +		window->restore(); +	} +  	parse(query_map);  	//if we haven't initialized stuff yet, this is  diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index e65b7d8a0c..9797c01371 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -82,9 +82,24 @@ public:  	struct Params : public LLInitParam::Block<Params, LLMenuItemCallGL::Params>  	{ -		Mandatory<EType> item_type; - -		Params() {} +		Mandatory<EType>		item_type; +		Optional<const LLFontGL*> back_item_font, +								current_item_font, +								forward_item_font; +		Optional<std::string>	back_item_image, +								forward_item_image; +		Optional<S32>			image_hpad, +								image_vpad; +		Params() +		:	item_type(), +			back_item_font("back_item_font"), +			current_item_font("current_item_font"), +			forward_item_font("forward_item_font"), +			back_item_image("back_item_image"), +			forward_item_image("forward_item_image"), +			image_hpad("image_hpad"), +			image_vpad("image_vpad") +		{}  	};  	/*virtual*/ void	draw(); @@ -97,33 +112,38 @@ private:  	static const S32			ICON_WIDTH			= 16;  	static const S32			ICON_HEIGHT			= 16; -	static const std::string	ICON_IMG_BACKWARD; -	static const std::string	ICON_IMG_FORWARD;  	LLIconCtrl*		mArrowIcon;  }; -const std::string LLTeleportHistoryMenuItem::ICON_IMG_BACKWARD("teleport_history_backward.tga"); -const std::string LLTeleportHistoryMenuItem::ICON_IMG_FORWARD("teleport_history_forward.tga"); +static LLDefaultChildRegistry::Register<LLTeleportHistoryMenuItem> r("teleport_history_menu_item"); +  LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p)  :	LLMenuItemCallGL(p),  	mArrowIcon(NULL)  {  	// Set appearance depending on the item type. -	if (p.item_type  == TYPE_CURRENT) +	if (p.item_type == TYPE_BACKWARD) +	{ +		setFont( p.back_item_font ); +		setLabel(std::string("   ") + std::string(p.label)); +	} +	else if (p.item_type == TYPE_CURRENT)  	{ -		setFont(LLFontGL::getFontSansSerifBold()); +		setFont( p.current_item_font );  	}  	else  	{ -		setFont(LLFontGL::getFontSansSerif()); +		setFont( p.forward_item_font );  		setLabel(std::string("   ") + std::string(p.label));  	}  	LLIconCtrl::Params icon_params;  	icon_params.name("icon"); -	icon_params.rect(LLRect(0, ICON_HEIGHT, ICON_WIDTH, 0)); +	LLRect rect(0, ICON_HEIGHT, ICON_WIDTH, 0); +	rect.translate( p.image_hpad, p.image_vpad ); +	icon_params.rect( rect );  	icon_params.mouse_opaque(false);  	icon_params.follows.flags(FOLLOWS_LEFT | FOLLOWS_TOP);  	icon_params.visible(false); @@ -132,9 +152,9 @@ LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p)  	// no image for the current item  	if (p.item_type == TYPE_BACKWARD) -		mArrowIcon->setValue(ICON_IMG_BACKWARD); +		mArrowIcon->setValue( p.back_item_image() );  	else if (p.item_type == TYPE_FORWARD) -		mArrowIcon->setValue(ICON_IMG_FORWARD); +		mArrowIcon->setValue( p.forward_item_image() );  	addChild(mArrowIcon);  } diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index e87b70f6a5..c85fab2092 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -327,7 +327,7 @@ void LLLandmarksPanel::initFavoritesInventoryPanel()  	mFavoritesInventoryPanel = getChild<LLInventorySubTreePanel>("favorites_list");  	initLandmarksPanel(mFavoritesInventoryPanel); - +	mFavoritesInventoryPanel->getFilter()->setEmptyLookupMessage("FavoritesNoMatchingItems");  	initAccordion("tab_favorites", mFavoritesInventoryPanel);  } @@ -389,10 +389,6 @@ void LLLandmarksPanel::initLandmarksPanel(LLInventorySubTreePanel* inventory_lis  	}  	root_folder->setParentLandmarksPanel(this); - -	// save initial folder state to avoid incorrect work while switching between Landmarks & Teleport History tabs -	// See EXT-1609. -	inventory_list->saveFolderState();  }  void LLLandmarksPanel::initAccordion(const std::string& accordion_tab_name, LLInventorySubTreePanel* inventory_list) @@ -995,29 +991,23 @@ void LLLandmarksPanel::doCreatePick(LLLandmark* landmark)  //////////////////////////////////////////////////////////////////////////  static void filter_list(LLInventorySubTreePanel* inventory_list, const std::string& string)  { +	// Open the immediate children of the root folder, since those +	// are invisible in the UI and thus must always be open. +	inventory_list->getRootFolder()->openTopLevelFolders(); +  	if (string == "")  	{  		inventory_list->setFilterSubString(LLStringUtil::null); - -		// re-open folders that were initially open -		inventory_list->restoreFolderState();  	} -	gInventory.startBackgroundFetch(); -  	if (inventory_list->getFilterSubString().empty() && string.empty())  	{  		// current filter and new filter empty, do nothing  		return;  	} -	// save current folder open state if no filter currently applied -	if (inventory_list->getRootFolder()->getFilterSubString().empty()) -	{ -		inventory_list->saveFolderState(); -	} - -	// set new filter string +	// Set new filter string  	inventory_list->setFilterSubString(string); +  }  // EOF diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index be0c92a76d..f3d161ce1e 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -193,6 +193,7 @@  #include "lllogin.h"  #include "llevents.h" +#include "llstartuplistener.h"  #if LL_WINDOWS  #include "llwindebug.h" @@ -241,7 +242,8 @@ static std::string gFirstSimSeedCap;  static LLVector3 gAgentStartLookAt(1.0f, 0.f, 0.f);  static std::string gAgentStartLocation = "safe"; -static LLEventStream sStartupStateWatcher("StartupState"); +boost::scoped_ptr<LLEventPump> LLStartUp::sStateWatcher(new LLEventStream("StartupState")); +boost::scoped_ptr<LLStartupListener> LLStartUp::sListener(new LLStartupListener());  //  // local function declaration @@ -2725,10 +2727,15 @@ void LLStartUp::setStartupState( EStartupState state )  		getStartupStateString() << " to " <<    		startupStateToString(state) << LL_ENDL;  	gStartupState = state; +	postStartupState(); +} + +void LLStartUp::postStartupState() +{  	LLSD stateInfo;  	stateInfo["str"] = getStartupStateString(); -	stateInfo["enum"] = state; -	sStartupStateWatcher.post(stateInfo); +	stateInfo["enum"] = gStartupState; +	sStateWatcher->post(stateInfo);  } diff --git a/indra/newview/llstartup.h b/indra/newview/llstartup.h index 7f869d014f..ab11b42e74 100644 --- a/indra/newview/llstartup.h +++ b/indra/newview/llstartup.h @@ -33,7 +33,11 @@  #ifndef LL_LLSTARTUP_H  #define LL_LLSTARTUP_H +#include <boost/scoped_ptr.hpp> +  class LLViewerTexture ; +class LLEventPump; +class LLStartupListener;  // functions  bool idle_startup(); @@ -113,9 +117,13 @@ public:  		// *HACK: On startup, if we were passed a secondlife://app/do/foo  		// command URL, store it for later processing. +	static void postStartupState(); +  private:  	static std::string startupStateToString(EStartupState state);  	static EStartupState gStartupState; // Do not set directly, use LLStartup::setStartupState +	static boost::scoped_ptr<LLEventPump> sStateWatcher; +	static boost::scoped_ptr<LLStartupListener> sListener;  }; diff --git a/indra/newview/llstartuplistener.cpp b/indra/newview/llstartuplistener.cpp new file mode 100644 index 0000000000..5a76a297c7 --- /dev/null +++ b/indra/newview/llstartuplistener.cpp @@ -0,0 +1,34 @@ +/** + * @file   llstartuplistener.cpp + * @author Nat Goodspeed + * @date   2009-12-08 + * @brief  Implementation for llstartuplistener. + *  + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * Copyright (c) 2009, Linden Research, Inc. + * $/LicenseInfo$ + */ + +// Precompiled header +#include "llviewerprecompiledheaders.h" +// associated header +#include "llstartuplistener.h" +// STL headers +// std headers +// external library headers +// other Linden headers +#include "llstartup.h" + + +LLStartupListener::LLStartupListener(/* LLStartUp* instance */): +    LLEventAPI("LLStartUp", "Access e.g. LLStartup::postStartupState()") /* , +    mStartup(instance) */ +{ +    add("postStartupState", "Refresh \"StartupState\" listeners with current startup state", +        &LLStartupListener::postStartupState); +} + +void LLStartupListener::postStartupState(const LLSD&) const +{ +    LLStartUp::postStartupState(); +} diff --git a/indra/newview/llstartuplistener.h b/indra/newview/llstartuplistener.h new file mode 100644 index 0000000000..a2a4d3a08e --- /dev/null +++ b/indra/newview/llstartuplistener.h @@ -0,0 +1,30 @@ +/** + * @file   llstartuplistener.h + * @author Nat Goodspeed + * @date   2009-12-07 + * @brief  Event API to provide access to LLStartUp + *  + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * Copyright (c) 2009, Linden Research, Inc. + * $/LicenseInfo$ + */ + +#if ! defined(LL_LLSTARTUPLISTENER_H) +#define LL_LLSTARTUPLISTENER_H + +#include "lleventapi.h" +class LLStartUp; +class LLSD; + +class LLStartupListener: public LLEventAPI +{ +public: +    LLStartupListener(/* LLStartUp* instance */); // all static members! + +private: +    void postStartupState(const LLSD&) const; + +    //LLStartup* mStartup; +}; + +#endif /* ! defined(LL_LLSTARTUPLISTENER_H) */ diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index bf4d0c78e6..431b4d3c0a 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -45,6 +45,7 @@  #include "llagentwearables.h"  #include "llagentpilot.h"  #include "llcompilequeue.h" +#include "llconsole.h"  #include "lldebugview.h"  #include "llfilepicker.h"  #include "llfirstuse.h" @@ -487,7 +488,7 @@ class LLAdvancedToggleConsole : public view_listener_t  		}  		else if ("debug" == console_type)  		{ -			toggle_visibility( (void*)((LLView*)gDebugView->mDebugConsolep) ); +			toggle_visibility( (void*)static_cast<LLUICtrl*>(gDebugView->mDebugConsolep));  		}  		else if (gTextureSizeView && "texture size" == console_type)  		{ diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 5be7f2945f..e066546bd8 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -1454,6 +1454,8 @@ void LLUIImageList::onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_v  						llclamp((F32)scale_rect.mRight / (F32)imagep->getWidth(), 0.f, 1.f),  						llclamp((F32)scale_rect.mBottom / (F32)imagep->getHeight(), 0.f, 1.f)));  			} + +			imagep->onImageLoaded();  		}  	}  } diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 7d6401acde..b4c45c23d4 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -1067,19 +1067,6 @@ BOOL LLVOAvatarSelf::detachObject(LLViewerObject *viewer_object)  	return FALSE;  } -void LLVOAvatarSelf::getAllAttachmentsArray(LLDynamicArray<S32>& attachments) -{ -	for (LLVOAvatar::attachment_map_t::const_iterator iter = mAttachmentPoints.begin();  -		 iter != mAttachmentPoints.end(); ++iter) -	{ -		LLViewerJointAttachment* attachment = iter->second; -		if ( attachment && (attachment->getNumObjects() > 0)) -		{ -			attachments.push_back(iter->first); -		} -	} -} -  U32 LLVOAvatarSelf::getNumWearables(LLVOAvatarDefines::ETextureIndex i) const  {  	EWearableType type = LLVOAvatarDictionary::getInstance()->getTEWearableType(i); diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index 6bf4ef5496..c7bd4eaadc 100644 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -284,7 +284,6 @@ public:  	const std::string   getAttachedPointName(const LLUUID& inv_item_id) const;  	/*virtual*/ const LLViewerJointAttachment *attachObject(LLViewerObject *viewer_object);  	/*virtual*/ BOOL 	detachObject(LLViewerObject *viewer_object); -	void				getAllAttachmentsArray(LLDynamicArray<S32>& attachments);  	//--------------------------------------------------------------------  	// HUDs diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index acb3262093..cdbeed111e 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -648,7 +648,7 @@       reference="LtGray" />      <color       name="TextFgTentativeColor" -	 value="0 0 0 .33" /> +     value="0.4 0.4 0.4 1" />      <color       name="TimeTextColor"       reference="LtGray" /> diff --git a/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.pngBinary files differ new file mode 100644 index 0000000000..fb1f7d3a6d --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.pngBinary files differ new file mode 100644 index 0000000000..e6f614b844 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.pngBinary files differ new file mode 100644 index 0000000000..84a96a60cb --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.pngBinary files differ new file mode 100644 index 0000000000..d55ebd7c67 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.pngBinary files differ new file mode 100644 index 0000000000..ae4077488b --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png b/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.pngBinary files differ new file mode 100644 index 0000000000..4813d37198 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.pngBinary files differ new file mode 100644 index 0000000000..0455a52fdc --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.pngBinary files differ new file mode 100644 index 0000000000..be0c379d84 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.pngBinary files differ new file mode 100644 index 0000000000..ed4a512e04 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png b/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.pngBinary files differ new file mode 100644 index 0000000000..d28e5357df --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.pngBinary files differ new file mode 100644 index 0000000000..d72f02f708 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_M_Dark.pngBinary files differ new file mode 100644 index 0000000000..2f5871b8ff --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_M_Light.png b/indra/newview/skins/default/textures/icons/Parcel_M_Light.pngBinary files differ new file mode 100644 index 0000000000..724ac22744 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_M_Light.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png b/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.pngBinary files differ new file mode 100644 index 0000000000..f82354959e --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.pngBinary files differ new file mode 100644 index 0000000000..f0565f02dd --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png b/indra/newview/skins/default/textures/icons/Parcel_PG_Light.pngBinary files differ new file mode 100644 index 0000000000..f32b0570a1 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.pngBinary files differ new file mode 100644 index 0000000000..8f0fe6a04d --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.pngBinary files differ new file mode 100644 index 0000000000..eba7070b4d --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.pngBinary files differ new file mode 100644 index 0000000000..08c2a18ac3 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_R_Dark.pngBinary files differ new file mode 100644 index 0000000000..e0e6e14cca --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_R_Light.png b/indra/newview/skins/default/textures/icons/Parcel_R_Light.pngBinary files differ new file mode 100644 index 0000000000..efca6776da --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_R_Light.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.pngBinary files differ new file mode 100644 index 0000000000..8f9f37a1bf --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.pngBinary files differ new file mode 100644 index 0000000000..8b1d6c5e14 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.pngBinary files differ new file mode 100644 index 0000000000..eace54ae79 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.pngBinary files differ new file mode 100644 index 0000000000..0d07e552b1 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.pngBinary files differ new file mode 100644 index 0000000000..b36a9bd2f0 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png diff --git a/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png b/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.pngBinary files differ new file mode 100644 index 0000000000..86ce19474a --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 6f9801491a..607df10048 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -57,6 +57,9 @@ with the same filename but different name    <texture name="Arrow_Small_Left" file_name="widgets/Arrow_Small_Left.png" preload="true" />    <texture name="Arrow_Small_Right" file_name="widgets/Arrow_Small_Right.png" preload="true" /> +  <texture name="Arrow_Down" file_name="widgets/Arrow_Down.png"	preload="true" /> +  <texture name="Arrow_Up" file_name="widgets/Arrow_Up.png" preload="true" /> +    <texture name="AudioMute_Off" file_name="icons/AudioMute_Off.png" preload="false" />    <texture name="AudioMute_Over" file_name="icons/AudioMute_Over.png" preload="false" />    <texture name="AudioMute_Press" file_name="icons/AudioMute_Press.png" preload="false" /> @@ -332,49 +335,49 @@ with the same filename but different name    <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_color_EVRY" file_name="icons/parcel_color_EVRY.png" preload="false" /> -  <texture name="parcel_color_EXP" file_name="icons/parcel_color_EXP.png" preload="false" /> -  <texture name="parcel_color_M" file_name="icons/parcel_color_M.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_EVRY" file_name="icons/parcel_drk_EVRY.png" preload="false" /> - <texture name="parcel_drk_EXP" file_name="icons/parcel_drk_EXP.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_EVRY" file_name="icons/parcel_lght_EVRY.png" preload="false" /> - <texture name="parcel_lght_EXP" file_name="icons/parcel_lght_EXP.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="Parcel_Evry_Color" file_name="icons/Parcel_Evry_Color.png" preload="false" /> +  <texture name="Parcel_Exp_Color" file_name="icons/Parcel_Exp_Color.png" preload="false" /> +  <texture name="Parcel_M_Color" file_name="icons/Parcel_M_Color.png" preload="false" /> + + <texture name="Parcel_Build_Dark" file_name="icons/Parcel_Build_Dark.png" preload="false" /> + <texture name="Parcel_BuildNo_Dark" file_name="icons/Parcel_BuildNo_Dark.png" preload="false" /> + <texture name="Parcel_Damage_Dark" file_name="icons/Parcel_Damage_Dark.png" preload="false" /> + <texture name="Parcel_DamageNo_Dark" file_name="icons/Parcel_DamageNo_Dark.png" preload="false" /> + <texture name="Parcel_Evry_Dark" file_name="icons/Parcel_Evry_Dark.png" preload="false" /> + <texture name="Parcel_Exp_Dark" file_name="icons/Parcel_Exp_Dark.png" preload="false" /> + <texture name="Parcel_Fly_Dark" file_name="icons/Parcel_Fly_Dark.png" preload="false" /> + <texture name="Parcel_FlyNo_Dark" file_name="icons/Parcel_FlyNo_Dark.png" preload="false" /> + <texture name="Parcel_ForSale_Dark" file_name="icons/Parcel_ForSale_Dark.png" preload="false" /> + <texture name="Parcel_ForSaleNo_Dark" file_name="icons/Parcel_ForSaleNo_Dark.png" preload="false" /> + <texture name="Parcel_M_Dark" file_name="icons/Parcel_M_Dark.png" preload="false" /> + <texture name="Parcel_PG_Dark" file_name="icons/Parcel_PG_Dark.png" preload="false" /> + <texture name="Parcel_Push_Dark" file_name="icons/Parcel_Push_Dark.png" preload="false" /> + <texture name="Parcel_PushNo_Dark" file_name="icons/Parcel_PushNo_Dark.png" preload="false" /> + <texture name="Parcel_R_Dark" file_name="icons/Parcel_R_Dark.png" preload="false" /> + <texture name="Parcel_Scripts_Dark" file_name="icons/Parcel_Scripts_Dark.png" preload="false" /> + <texture name="Parcel_ScriptsNo_Dark" file_name="icons/Parcel_ScriptsNo_Dark.png" preload="false" /> + <texture name="Parcel_Voice_Dark" file_name="icons/Parcel_Voice_Dark.png" preload="false" /> + <texture name="Parcel_VoiceNo_Dark" file_name="icons/Parcel_VoiceNo_Dark.png" preload="false" /> + + <texture name="Parcel_Build_Light" file_name="icons/Parcel_Build_Light.png" preload="false" /> + <texture name="Parcel_BuildNo_Light" file_name="icons/Parcel_BuildNo_Light.png" preload="false" /> + <texture name="Parcel_Damage_Light" file_name="icons/Parcel_Damage_Light.png" preload="false" /> + <texture name="Parcel_DamageNo_Light" file_name="icons/Parcel_DamageNo_Light.png" preload="false" /> + <texture name="Parcel_Evry_Light" file_name="icons/Parcel_Evry_Light.png" preload="false" /> + <texture name="Parcel_Exp_Light" file_name="icons/Parcel_Exp_Light.png" preload="false" /> + <texture name="Parcel_Fly_Light" file_name="icons/Parcel_Fly_Light.png" preload="false" /> + <texture name="Parcel_FlyNo_Light" file_name="icons/Parcel_FlyNo_Light.png" preload="false" /> + <texture name="Parcel_ForSale_Light" file_name="icons/Parcel_ForSale_Light.png" preload="false" /> + <texture name="Parcel_ForSaleNo_Light" file_name="icons/Parcel_ForSaleNo_Light.png" preload="false" /> + <texture name="Parcel_M_Light" file_name="icons/Parcel_M_Light.png" preload="false" /> + <texture name="Parcel_PG_Light" file_name="icons/Parcel_PG_Light.png" preload="false" /> + <texture name="Parcel_Push_Light" file_name="icons/Parcel_Push_Light.png" preload="false" /> + <texture name="Parcel_PushNo_Light" file_name="icons/Parcel_PushNo_Light.png" preload="false" /> + <texture name="Parcel_R_Light" file_name="icons/Parcel_R_Light.png" preload="false" /> + <texture name="Parcel_Scripts_Light" file_name="icons/Parcel_Scripts_Light.png" preload="false" /> + <texture name="Parcel_ScriptsNo_Light" file_name="icons/Parcel_ScriptsNo_Light.png" preload="false" /> + <texture name="Parcel_Voice_Light" file_name="icons/Parcel_Voice_Light.png" preload="false" /> + <texture name="Parcel_VoiceNo_Light" file_name="icons/Parcel_VoiceNo_Light.png" preload="false" />    <texture name="Pause_Off" file_name="icons/Pause_Off.png" preload="false" />    <texture name="Pause_Over" file_name="icons/Pause_Over.png" preload="false" /> 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 a8f875754e..4f4288b654 100644 --- a/indra/newview/skins/default/xui/en/floater_animation_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_animation_preview.xml @@ -456,26 +456,43 @@ Maximum animation length is [MAX_LENGTH] seconds.       image_overlay="Play_Over"       image_unselected="SegmentedBtn_Left_Off"       image_selected="SegmentedBtn_Left_On_Selected" -        image_disabled_selected="SegmentedBtn_Left_Selected_Disabled" -        image_disabled="SegmentedBtn_Left_Disabled" -	image_pressed="SegmentedBtn_Left_Press" -	image_pressed_selected="SegmentedBtn_Left_Selected_Press" +	 image_disabled_selected="SegmentedBtn_Left_Selected_Disabled" +	 image_disabled="SegmentedBtn_Left_Disabled" +	 image_pressed="SegmentedBtn_Left_Press" +	 image_pressed_selected="SegmentedBtn_Left_Selected_Press"       layout="topleft"       left="10"       name="play_btn" -     tool_tip="Play/pause your animation" +     tool_tip="Play your animation"       top_pad="0"       width="23" />      <button +	 visible = "false" +     follows="top|right" +     height="23" +     image_overlay="Pause_Over" +     image_unselected="SegmentedBtn_Left_Off" +     image_selected="SegmentedBtn_Left_On_Selected" +	 image_disabled_selected="SegmentedBtn_Left_Selected_Disabled" +	 image_disabled="SegmentedBtn_Left_Disabled" +	 image_pressed="SegmentedBtn_Left_Press" +	 image_pressed_selected="SegmentedBtn_Left_Selected_Press" +     layout="topleft" +     left="10" +     name="pause_btn" +     tool_tip="Pause your animation" +     top_pad="-23" +     width="23" />	  +    <button       follows="top|right"       height="23"       image_overlay="StopReload_Over"       image_unselected="SegmentedBtn_Right_Off"       image_selected="SegmentedBtn_Right_On_Selected" -        image_disabled_selected="SegmentedBtn_Right_Selected_Disabled" -        image_disabled="SegmentedBtn_Right_Disabled" -	image_pressed="SegmentedBtn_Right_Press" -	image_pressed_selected="SegmentedBtn_Right_Selected_Press" +	 image_disabled_selected="SegmentedBtn_Right_Selected_Disabled" +	 image_disabled="SegmentedBtn_Right_Disabled" +	 image_pressed="SegmentedBtn_Right_Press" +	 image_pressed_selected="SegmentedBtn_Right_Selected_Press"       layout="topleft"       name="stop_btn"       tool_tip="Stop animation playback" diff --git a/indra/newview/skins/default/xui/en/floater_lagmeter.xml b/indra/newview/skins/default/xui/en/floater_lagmeter.xml index 19f5155f88..b24c745bdd 100644 --- a/indra/newview/skins/default/xui/en/floater_lagmeter.xml +++ b/indra/newview/skins/default/xui/en/floater_lagmeter.xml @@ -1,7 +1,7 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater   legacy_header_height="18" - height="150" + height="170"   layout="topleft"   name="floater_lagmeter"   help_topic="floater_lagmeter" @@ -328,7 +328,7 @@       left="10"       name="minimize"  	 tool_tip="Toggle floater size" -     top_delta="4" +     top_delta="24"       width="40">          <button.commit_callback           function="LagMeter.ClickShrink" /> 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 af4fdff044..6050aede79 100644 --- a/indra/newview/skins/default/xui/en/floater_select_key.xml +++ b/indra/newview/skins/default/xui/en/floater_select_key.xml @@ -4,30 +4,31 @@   border="false"   can_close="false"   can_minimize="false" - height="100" + height="90"   layout="topleft"   name="modal container"   width="240"> -    <button -     height="20" -     label="Cancel" -     label_selected="Cancel" -     layout="topleft" -     left="138" -     name="Cancel" -     top="70" -     width="82" />      <text       type="string" +     halign="center"       length="1"       follows="left|top" -     font="SansSerif" -     height="16" +     height="30"       layout="topleft" -     left="20" +     left="10"       name="Save item as:" -     top="10" -     width="200"> -        Press a key to select +     top="25" +     word_wrap="true" +     width="220"> +        Press a key to set your +Speak button toggle      </text> +    <button +     height="23" +     label="Cancel" +     label_selected="Cancel" +     layout="topleft" +     right="-10" +     name="Cancel" +     width="100" />  </floater> 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 e6a78563f3..409f46b960 100644 --- a/indra/newview/skins/default/xui/en/floater_sell_land.xml +++ b/indra/newview/skins/default/xui/en/floater_sell_land.xml @@ -182,7 +182,7 @@       width="130">          <combo_box.item           enabled="false" -         label="-- select one --" +         label="- Select one -"           name="--selectone--"           value="select" />          <combo_box.item diff --git a/indra/newview/skins/default/xui/en/floater_telehub.xml b/indra/newview/skins/default/xui/en/floater_telehub.xml index 374f014908..bb463edd4d 100644 --- a/indra/newview/skins/default/xui/en/floater_telehub.xml +++ b/indra/newview/skins/default/xui/en/floater_telehub.xml @@ -6,7 +6,7 @@   name="telehub"   help_topic="telehub"   title="TELEHUB" - width="280"> + width="330">      <text       type="string"       length="1" @@ -16,7 +16,7 @@       left="10"       name="status_text_connected"       top="24" -     width="200"> +     width="315">          Telehub connected to object [OBJECT]      </text>      <text @@ -28,7 +28,7 @@       left_delta="0"       name="status_text_not_connected"       top_delta="0" -     width="200"> +     width="315">          No telehub connected.      </text>      <text @@ -40,7 +40,7 @@       left_delta="0"       name="help_text_connected"       top_delta="16" -     width="260"> +     width="315">          To remove, click Disconnect.      </text>      <text @@ -52,78 +52,73 @@       left_delta="0"       name="help_text_not_connected"       top_delta="0" -     width="260"> +     width="315">          Select object and click Connect Telehub.      </text>      <button       follows="top|left" -     height="20" +     height="23"       label="Connect Telehub"       layout="topleft"       left_delta="0"       name="connect_btn"       top_delta="20" -     width="110" /> +     width="130" />      <button       follows="top|left" -     height="20" +     height="23"       label="Disconnect"       layout="topleft"       left_pad="10"       name="disconnect_btn"       top_delta="0" -     width="110" /> +     width="130" />      <text       type="string"       length="1"       follows="left|top" -     height="16" +     height="14"       layout="topleft"       left="10"       name="spawn_points_text"       top="84" -     width="200"> +     width="315">          Spawn Points (positions, not objects):      </text>      <scroll_list       follows="left|top"       height="60"       layout="topleft" -     left_delta="0"       name="spawn_points_list" -     top_delta="16" -     width="230" /> +     width="315" />      <button       follows="top|left" -     height="20" +     height="23"       label="Add Spawn"       layout="topleft" -     left_delta="0"       name="add_spawn_point_btn" -     top_pad="5" -     width="110" /> +     width="130" />      <button       follows="top|left" -     height="20" +     height="23"       label="Remove Spawn"       layout="topleft"       left_pad="10"       name="remove_spawn_point_btn" -     top_delta="0" -     width="110" /> +     width="130" />      <text       type="string"       length="1"       follows="top|left" -     height="80" +     height="56"       layout="topleft"       left="10"       name="spawn_point_help" -     top="190" -     width="260"> -        Select object and click Add to specify position. -You may then move or delete the object. +     word_wrap="true" +     width="317"> +        Select object and click "Add Spawn" to specify position. +You can then move or delete the object.  Positions are relative to the telehub center. -Select item in list to show position in world. +Select an item in list to highlight it inworld.      </text>  </floater> diff --git a/indra/newview/skins/default/xui/en/floater_test_text_editor.xml b/indra/newview/skins/default/xui/en/floater_test_text_editor.xml index b0aa5c7c4f..8be0c28c5c 100644 --- a/indra/newview/skins/default/xui/en/floater_test_text_editor.xml +++ b/indra/newview/skins/default/xui/en/floater_test_text_editor.xml @@ -9,7 +9,6 @@    <text_editor     height="50"     follows="top|left|bottom" -   layout="topleft"     left="10"     name="test_text_editor"     tool_tip="text editor" @@ -17,4 +16,15 @@     width="200">      Text Editor    </text_editor> +  <text_editor +   height="50" +   follows="top|left|bottom" +   font="SansSerif"  +   left="10" +   name="test_text_editor" +   tool_tip="text editor" +   top_pad="10" +   width="200"> +    This contains long text and should scroll horizontally to the right +  </text_editor>  </floater> 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 d2db26daec..68bb500c78 100644 --- a/indra/newview/skins/default/xui/en/floater_top_objects.xml +++ b/indra/newview/skins/default/xui/en/floater_top_objects.xml @@ -8,7 +8,7 @@   min_width="450"   name="top_objects"   help_topic="top_objects" - title="LOADING..." + title="Top Objects"   width="550">      <floater.string       name="top_scripts_title"> @@ -46,24 +46,24 @@       type="string"       length="1"       follows="left|top" -     font="SansSerif"       height="20"       layout="topleft"       left="10"       name="title_text" -     top="30" +     top="20" +     text_color="EmphasisColor"       width="400">          Loading...      </text>      <scroll_list       draw_heading="true" -     follows="left|top|bottom|right" -     height="150" +     follows="all" +     height="170"       layout="topleft"       left_delta="0"       multi_select="true"       name="objects_list" -     top_delta="20" +     top_delta="17"       width="530">          <scroll_list.columns           label="Score" @@ -109,16 +109,16 @@       follows="left|bottom|right"       height="20"       layout="topleft" -     left_delta="70" +     left_pad="3"       name="id_editor"       top_delta="-3" -     width="350" /> +     width="325" />      <button       follows="bottom|right" -     height="20" +     height="23"       label="Show Beacon"       layout="topleft" -     left_pad="10" +     left_pad="5"       name="show_beacon_btn"       top_delta="0"       width="100"> @@ -132,25 +132,25 @@       height="20"       layout="topleft"       left="10" +     top_pad="5"       name="obj_name_text" -     top="237"       width="100"> -        Object Name: +        Object name:      </text>      <line_editor       follows="left|bottom|right"       height="20"       layout="topleft" -     left_delta="70" +     left_pad="3"       name="object_name_editor"       top_delta="-3" -     width="350" /> +     width="325" />      <button       follows="bottom|right" -     height="20" +     height="23"       label="Filter"       layout="topleft" -     left_pad="10" +     left_pad="5"       name="filter_object_btn"       top_delta="0"       width="100"> @@ -164,25 +164,25 @@       height="20"       layout="topleft"       left="10" +     top_pad="5"       name="owner_name_text" -     top="264"       width="100"> -        Owner Name: +        Owner:      </text>      <line_editor       follows="left|bottom|right"       height="20"       layout="topleft" -     left_delta="70" +     left_pad="3"       name="owner_name_editor"       top_delta="-3" -     width="350" /> +     width="325" />      <button       follows="bottom|right" -     height="20" +     height="23"       label="Filter"       layout="topleft" -     left_pad="10" +     left_pad="5"       name="filter_owner_btn"       top_delta="0"       width="100"> @@ -190,20 +190,32 @@            function="TopObjects.GetByOwnerName" />      </button>      <button +     follows="top|left" +     height="22" +     image_overlay="Refresh_Off" +     layout="topleft" +     name="refresh_btn" +     right="-8" +     top_pad="5" +     width="23"> +      <button.commit_callback +          function="TopObjects.Refresh" /> +    </button> +    <button       follows="bottom|left" -     height="20" +     height="23"       label="Return Selected"       layout="topleft" -     left="10" +     left="112" +     top_delta="0"       name="return_selected_btn" -     top="295"       width="130">        <button.commit_callback            function="TopObjects.ReturnSelected" />      </button>      <button       follows="bottom|left" -     height="20" +     height="23"       label="Return All"       layout="topleft"       left_pad="10" @@ -215,19 +227,19 @@      </button>      <button       follows="bottom|left" -     height="20" +     height="23"       label="Disable Selected"       layout="topleft" -     left="10" + +     left="112"       name="disable_selected_btn" -     top="320"       width="130">        <button.commit_callback            function="TopObjects.DisableSelected" />      </button>      <button       follows="bottom|left" -     height="20" +     height="23"       label="Disable All"       layout="topleft"       left_pad="10" @@ -237,16 +249,4 @@        <button.commit_callback            function="TopObjects.DisableAll" />      </button> -    <button -     bottom="315" -     follows="bottom|right" -     height="20" -     label="Refresh" -     layout="topleft" -     name="refresh_btn" -     right="-10" -     width="100"> -      <button.commit_callback -          function="TopObjects.Refresh" /> -    </button>  </floater> diff --git a/indra/newview/skins/default/xui/en/floater_water.xml b/indra/newview/skins/default/xui/en/floater_water.xml index b13a11c05d..89492d8abc 100644 --- a/indra/newview/skins/default/xui/en/floater_water.xml +++ b/indra/newview/skins/default/xui/en/floater_water.xml @@ -116,7 +116,7 @@               layout="topleft"               left="10"               name="WaterFogDensText" -             top="74" +             top="84"               width="200">                  Fog Density Exponent              </text> @@ -130,7 +130,7 @@               left="24"               max_val="10"               name="WaterFogDensity" -             top="110" +             top="124"               width="200" />              <text               type="string" @@ -141,7 +141,7 @@               layout="topleft"               left_delta="-14"               name="WaterUnderWaterFogModText" -             top_delta="4" +             top="124"               width="200">                  Underwater Fog Modifier              </text> @@ -155,7 +155,7 @@               left="24"               max_val="2"               name="WaterUnderWaterFogMod" -             top="150" +             top="164"               width="200" />              <text               type="string" @@ -180,7 +180,7 @@               layout="topleft"               max_val="10"               name="WaterNormalScaleX" -             top_pad="20" +             top_pad="24"               width="200" />              <slider               control_name="WaterNormalScaleY" @@ -192,7 +192,7 @@               layout="topleft"               max_val="10"               name="WaterNormalScaleY" -             top_pad="0" +             top_pad="4"               width="200" />              <slider               control_name="WaterNormalScaleZ" @@ -204,7 +204,7 @@               layout="topleft"               max_val="10"               name="WaterNormalScaleZ" -             top_pad="0" +             top_pad="4"               width="200" />              <text               type="string" @@ -214,7 +214,7 @@               height="16"               layout="topleft"               name="HDText" -             top_pad="-10" +             top="84"               width="200">                  Fresnel Scale              </text> @@ -227,7 +227,7 @@               initial_value="0.7"               layout="topleft"               name="WaterFresnelScale" -             top_pad="20" +             top="124"               width="200" />              <text               type="string" @@ -237,7 +237,7 @@               height="16"               layout="topleft"               name="FresnelOffsetText" -             top_pad="-10" +             top="124"               width="200">                  Fresnel Offset              </text> @@ -250,7 +250,7 @@               initial_value="0.7"               layout="topleft"               name="WaterFresnelOffset" -             top_pad="20" +             top="164"               width="200" />              <text               type="string" @@ -275,7 +275,7 @@               layout="topleft"               left="494"               name="WaterScaleAbove" -             top="40" +             top="44"               width="200" />              <text               type="string" @@ -286,7 +286,7 @@               layout="topleft"               left_delta="-14"               name="WaterScaleBelowText" -             top_delta="-3" +             top="44"               width="200">                  Refract Scale Below              </text> @@ -300,7 +300,7 @@               layout="topleft"               left="494"               name="WaterScaleBelow" -             top="73" +             top="84"               width="200" />              <text               type="string" @@ -311,7 +311,7 @@               layout="topleft"               left_delta="-14"               name="MaxAltText" -             top_delta="-2" +             top="84"               width="200">                  Blur Multiplier              </text> @@ -325,7 +325,7 @@               left="494"               max_val="0.16"               name="WaterBlurMult" -             top="107" +             top="124"               width="200" />          </panel>          <panel 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 9c11a88c34..e632b67d11 100644 --- a/indra/newview/skins/default/xui/en/floater_world_map.xml +++ b/indra/newview/skins/default/xui/en/floater_world_map.xml @@ -62,7 +62,7 @@       left="4"       layout="topleft"       name="Show My Location" -     tool_tip="Center map on your avatar's location" +     tool_tip="Center map on my avatar's location"       top="6"       width="24" >  		<button.commit_callback @@ -235,7 +235,7 @@       left="136"       top="6"       name="Go Home" -     tool_tip="Teleport home" +     tool_tip="Teleport to my home location"       width="24" >  		<button.commit_callback  		function="WMap.GoHome" /> diff --git a/indra/newview/skins/default/xui/en/inspect_remote_object.xml b/indra/newview/skins/default/xui/en/inspect_remote_object.xml index b5f2abf52a..ef3dd844cd 100644 --- a/indra/newview/skins/default/xui/en/inspect_remote_object.xml +++ b/indra/newview/skins/default/xui/en/inspect_remote_object.xml @@ -6,10 +6,10 @@  <floater   legacy_header_height="18"   bevel_style="in" - bg_opaque_image="Inspector_Background"  + bg_opaque_image="Inspector_Background"   can_close="false"   can_minimize="false" - height="145" + height="130"   layout="topleft"   name="inspect_remote_object"   single_instance="true" @@ -18,79 +18,78 @@   width="300">    <text     follows="all" -   font="SansSerifLargeBold" -   height="16" +   font="SansSerifLarge" +   font_style="BOLD" +   height="30"     left="8"     name="object_name"     text_color="White"     top="5"     use_ellipses="true" -   width="290"> -     Test Object Name That Is Really Long +   word_wrap="true" +   width="291"> +     Test Object Name That Is Really Long OMG so long I can't believe how long the name of this object is, I mean really.    </text>    <text -   follows="all" -   font="SansSerif" -   height="20" +   follows="top|left" +   font="SansSerifSmall" +   height="16"     left="8"     name="object_owner_label"     width="55" -   top_pad="20"> +   top_pad="12">       Owner:    </text>    <text     follows="top|left" -   font="SansSerif" -   height="20" -   left_pad="10" +   height="16" +   left_pad="5"     name="object_owner"     use_ellipses="true" -   width="200" +   width="230"     word_wrap="false">       Longavatarname Johnsonlongstonnammer    </text> -  <text +  <!--<text     follows="top|left" -   font="SansSerif" -   height="20" +   height="16"     left="8"     name="object_slurl_label" -   top_pad="10" +   top_pad="5"     width="55">       Location: -  </text> +  </text>-->    <text     follows="top|left" -   height="20" -   left_pad="10" +   height="16" +   left="8"     name="object_slurl" -   width="240" +   width="290"     use_ellipses="true"     word_wrap="false">       http://slurl.com/Ahern/50/50/50    </text>    <button     follows="top|left" -   height="20" +   height="23"     label="Map" -   left="10" +   left="8" +   top_pad="8"     name="map_btn" -   top="114" -   width="75" /> +   width="90" />    <button     follows="top|left" -   height="20" +   height="23"     label="Block" -   left_pad="5" +   left_pad="8"     name="block_btn" -   top_delta="0" -   width="75" /> +   width="90" />    <button     follows="top|left" -   height="20" +   height="23"     label="Close" -   right="-10" +   right="-8"     name="close_btn" -   top_delta="0" -   width="75" /> +   left_pad="5" +   width="90" />  </floater> diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index a11ebf5af8..65a545d2ed 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -19,6 +19,7 @@                    mouse_opaque="false"                    name="nav_bar_container"                    width="1024" +                  user_resize="false"                     visible="false">      </layout_panel>      <layout_panel auto_resize="true" @@ -43,7 +44,7 @@                 layout="topleft"                 mouse_opaque="false"                 name="non_side_tray_view" -               user_resize="true" +               user_resize="false"                 width="500">            <view bottom="500"                  follows="all" diff --git a/indra/newview/skins/default/xui/en/menu_avatar_icon.xml b/indra/newview/skins/default/xui/en/menu_avatar_icon.xml index df510d68eb..50910dff32 100644 --- a/indra/newview/skins/default/xui/en/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/en/menu_avatar_icon.xml @@ -9,7 +9,7 @@   visible="false"   width="128">      <menu_item_call -     label="Show Profile..." +     label="View Profile"       layout="topleft"       name="Show Profile">          <menu_item_call.on_click diff --git a/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml index 6891aaca32..038b8328cb 100644 --- a/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml +++ b/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml @@ -9,7 +9,7 @@   visible="false"   width="128">      <menu_item_call -     label="Show Profile" +     label="View Profile"       layout="topleft"       name="Show Profile">          <menu_item_call.on_click diff --git a/indra/newview/skins/default/xui/en/menu_participant_list.xml b/indra/newview/skins/default/xui/en/menu_participant_list.xml index c3283c6014..5ab327a182 100644 --- a/indra/newview/skins/default/xui/en/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/en/menu_participant_list.xml @@ -2,6 +2,67 @@  <context_menu   layout="topleft"   name="Participant List Context Menu"> + <menu_item_call +     label="View Profile" +     layout="topleft" +     name="View Profile"> +        <menu_item_call.on_click +         function="Avatar.Profile" /> +    </menu_item_call> +    <menu_item_call +     label="Add Friend" +     layout="topleft" +     name="Add Friend"> +        <menu_item_call.on_click +         function="Avatar.AddFriend" /> +        <menu_item_call.on_enable +         function="Avatar.EnableItem" +         parameter="can_add" /> +    </menu_item_call> +    <menu_item_call +     label="IM" +     layout="topleft" +     name="IM"> +        <menu_item_call.on_click +         function="Avatar.IM" /> +    </menu_item_call> +    <menu_item_call +     label="Call" +     layout="topleft" +     name="Call"> +        <menu_item_call.on_click +         function="Avatar.Call" /> +    </menu_item_call> +    <menu_item_call +     enabled="false" +     label="Share" +     layout="topleft" +     name="Share"> +        <menu_item_call.on_click +         function="Avatar.Share" /> +    </menu_item_call> +    <menu_item_call +     label="Pay" +     layout="topleft" +     name="Pay"> +        <menu_item_call.on_click +         function="Avatar.Pay" /> +    </menu_item_call> +    <menu_item_check +     label="Block/Unblock" +     layout="topleft" +     name="Block/Unblock"> +        <menu_item_check.on_click +         function="Avatar.BlockUnblock" /> +        <menu_item_check.on_check +         function="Avatar.CheckItem" +         parameter="is_blocked" /> +        <menu_item_check.on_enable +         function="Avatar.EnableItem" +         parameter="can_block" /> +    </menu_item_check> +        <menu_item_separator +         layout="topleft" />      <menu_item_check       label="Mute Text"       layout="topleft" diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 2b3f3c79e0..861b0de2cf 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -68,7 +68,7 @@               parameter="inventory" />          </menu_item_check>          <menu_item_call -         label="Show Sidetray Inventory" +         label="Show Inventory in Side Tray"           name="ShowSidetrayInventory"           shortcut="control|I"           visible="false"> @@ -433,6 +433,8 @@          </menu_item_check>          <menu_item_separator           layout="topleft" />--> +        <menu_item_separator +         layout="topleft" />          <menu_item_call           label="Snapshot"           layout="topleft" @@ -442,6 +444,8 @@               function="Floater.Show"               parameter="snapshot" />          </menu_item_call> +        <menu_item_separator +         layout="topleft" />      <menu           create_jump_keys="true"           label="Sun" @@ -3422,7 +3426,7 @@           name="Parcel"           tear_off="true">              <menu_item_call -             label="Owner To Me" +             label="Force Owner To Me"               layout="topleft"               name="Owner To Me">                  <menu_item_call.on_click diff --git a/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml index 3842c2a8db..970a2e6a8a 100644 --- a/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml +++ b/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml @@ -8,31 +8,31 @@   min_height="350"   min_width="240"   width="280"> -    <text  +        <button +     follows="top|left" +     height="25" +     image_overlay="BackArrow_Off" +     layout="topleft" +     name="back" +     left="10" +     tab_stop="false" +     top="0" +     width="25"/> +    <text       follows="top|left|right" -     font="SansSerifHugeBold" +     font="SansSerifLargeBold"       height="20"       layout="topleft" -     left="10"  +     left_pad="10"       name="title_text"       text_color="white" -     top="0"  +     top="5"       width="250">          Blocked List       </text> -     <button  -     follows="top|right" -     height="25" -     image_overlay="BackArrow_Off" -     layout="topleft" -     name="back" -     right="-9" -     tab_stop="false"  -     top="0" -     width="25"/>      <scroll_list -     follows="left|top|right|bottom" -     height="200" +     follows="all" +     height="190"       layout="topleft"       left="5"       name="blocked" @@ -41,9 +41,8 @@       width="270" />      <button       follows="left|bottom" -     height="20" -     label="Block Resident..." -     label_selected="Block Resident..." +     height="23" +     label="Block person"       layout="topleft"       left_delta="0"       name="Block resident..." @@ -55,9 +54,8 @@      </button>      <button       follows="left|bottom" -     height="20" -     label="Block object by name..." -     label_selected="Block object by name..." +     height="23" +     label="Block object by name"       layout="topleft"       left_delta="0"       name="Block object by name..." @@ -70,9 +68,8 @@      <button       enabled="false"       follows="left|bottom" -     height="20" +     height="23"       label="Unblock" -     label_selected="Unblock"       layout="topleft"       left_delta="0"       name="Unblock" diff --git a/indra/newview/skins/default/xui/en/panel_classified.xml b/indra/newview/skins/default/xui/en/panel_classified.xml index 9622313786..c8293d3663 100644 --- a/indra/newview/skins/default/xui/en/panel_classified.xml +++ b/indra/newview/skins/default/xui/en/panel_classified.xml @@ -107,7 +107,7 @@       top="48"       width="130">          <combo_box.item -         label="- Select Mature -" +         label="- Select one -"           name="select_mature"           value="Select" />          <combo_box.item diff --git a/indra/newview/skins/default/xui/en/panel_friends.xml b/indra/newview/skins/default/xui/en/panel_friends.xml index 3a35465df2..ac731bcdf0 100644 --- a/indra/newview/skins/default/xui/en/panel_friends.xml +++ b/indra/newview/skins/default/xui/en/panel_friends.xml @@ -8,7 +8,7 @@   width="100">      <panel.string       name="Multiple"> -        Multiple friends... +        Multiple friends      </panel.string>      <scroll_list       bottom="337" @@ -84,7 +84,7 @@      <button       follows="top|right"       height="22" -     label="Teleport..." +     label="Teleport"       layout="topleft"       left_delta="0"       name="offer_teleport_btn" @@ -94,7 +94,7 @@      <button       follows="top|right"       height="22" -     label="Pay..." +     label="Pay"       layout="topleft"       left_delta="0"       name="pay_btn" @@ -104,7 +104,7 @@      <button       follows="top|right"       height="22" -     label="Remove..." +     label="Remove"       layout="topleft"       left_delta="0"       name="remove_btn" @@ -114,7 +114,7 @@      <button       follows="top|right"       height="22" -     label="Add..." +     label="Add"       layout="topleft"       left_delta="0"       name="add_btn" diff --git a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml index 889f29fc53..a5445a5783 100644 --- a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml +++ b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml @@ -1,14 +1,13 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel   border="false" - follows="left|top|right|bottom" + follows="all"   height="238"   name="panel_im_control_panel"   width="180"> -      <avatar_list       color="DkGray2" -     follows="left|top|right|bottom" +     follows="all"       height="100"       ignore_online_status="true"       layout="topleft" @@ -19,20 +18,18 @@       show_profile_btn="false"       show_speaking_indicator="false"       top="10" -     width="180"/> - +     width="180" />      <button       bottom_pad="0" -     follows="left|right|bottom"  -     height="20" -     label="Group Info" +     follows="left|right|bottom" +     height="23" +     label="Group Profile"       left_delta="28"       name="group_info_btn" -     width="125"/> - +     width="125" />      <panel       background_visible="true" -     bg_alpha_color="0.2 0.2 0.2 1" +     bg_alpha_color="DkGray2"       border="false"       follows="left|right|bottom"       height="70" @@ -41,34 +38,29 @@       name="panel_call_buttons"       top_pad="0"       width="180"> -          <button           bottom="10" -         follows="all"  -         height="20" +         follows="all" +         height="23"           label="Call Group"           left_delta="28"           name="call_btn" -         width="125"/> - +         width="125" />          <button           bottom="40" -         follows="all"  -         height="20" +         follows="all" +         height="23"           label="Leave Call"           name="end_call_btn"           visible="false" -         width="125"/> - +         width="125" />          <button           bottom="10" -         follows="all"  -         height="20" +         follows="all" +         height="23"           label="Open Voice Controls"           name="voice_ctrls_btn"           visible="false" -         width="125"/> - +         width="125" />      </panel> -  </panel> diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml index 043edd10e1..e5dc4df0f8 100644 --- a/indra/newview/skins/default/xui/en/panel_group_general.xml +++ b/indra/newview/skins/default/xui/en/panel_group_general.xml @@ -145,7 +145,7 @@ Hover your mouse over the options for more help.           layout="topleft"           left="10"           name="group_mature_check" -         tool_tip="Sets whether your group information is considered moderate" +         tool_tip="Sets whether your group contains information rated as Moderate"           top_pad="0"           width="190">              <combo_box.item diff --git a/indra/newview/skins/default/xui/en/panel_group_notices.xml b/indra/newview/skins/default/xui/en/panel_group_notices.xml index 0dea81eefe..1b70b95a93 100644 --- a/indra/newview/skins/default/xui/en/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/en/panel_group_notices.xml @@ -10,11 +10,9 @@   width="310">      <panel.string       name="help_text"> -        Notices let you send a message and -an optionally attached item. Notices only go to -group members in Roles with the ability to -receive Notices. You can turn off Notices on -the General tab. +        Notices let you send a message and an optionally attached item. +Notices only go to group members in Roles with the ability to receive Notices. +You can turn off Notices on the General tab.      </panel.string>      <panel.string       name="no_notices_text"> @@ -31,7 +29,7 @@ the General tab.       name="lbl2"       top="5"       width="300"> -     Notices are kept for 14 days +     Notices are kept for 14 days.  Maximum 200 per group daily      </text>      <scroll_list @@ -93,6 +91,7 @@ Maximum 200 per group daily       layout="topleft"       name="refresh_notices"       right="-5" +     tool_tip="Refresh list of notices"       top_delta="0"       width="23" />      <panel @@ -192,7 +191,7 @@ Maximum 200 per group daily           top_pad="15"           word_wrap="true"           width="150"> -            Drag here to attach something -- > +            Drag and drop item here to attach it:          </text>          <icon           height="72" @@ -228,7 +227,7 @@ Maximum 200 per group daily           left="10"           layout="topleft"           name="drop_target" -         tool_tip="Drag an inventory item onto the message box to send it with the notice. You must have permission to copy and transfer the object to send it with the notice." +         tool_tip="Drag an inventory item onto this target box to send it with this notice. You must have permission to copy and transfer the item in order to attach it."           width="280" />     </panel>      <panel diff --git a/indra/newview/skins/default/xui/en/panel_group_roles.xml b/indra/newview/skins/default/xui/en/panel_group_roles.xml index a5bab3232c..9548119d58 100644 --- a/indra/newview/skins/default/xui/en/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/en/panel_group_roles.xml @@ -258,7 +258,7 @@ things in this group. There's a broad variety of Abilities.           name="static"           top_pad="5"           width="300"> -            Assigned Roles +            Assigned Members          </text>          <scroll_list           draw_stripes="true" diff --git a/indra/newview/skins/default/xui/en/panel_landmark_info.xml b/indra/newview/skins/default/xui/en/panel_landmark_info.xml index a219e30b8b..68e58b27ec 100644 --- a/indra/newview/skins/default/xui/en/panel_landmark_info.xml +++ b/indra/newview/skins/default/xui/en/panel_landmark_info.xml @@ -46,13 +46,13 @@      <!-- Texture names for rating icons -->      <string       name="icon_PG" -     value="parcel_drk_PG" /> +     value="Parcel_PG_Dark" />      <string       name="icon_M" -     value="parcel_drk_M" /> +     value="Parcel_M_Dark" />      <string       name="icon_R" -     value="parcel_drk_R" /> +     value="Parcel_R_Dark" />      <button       follows="top|right"       height="23" diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml index 37d59de66f..aeb28e4c60 100644 --- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml @@ -30,13 +30,16 @@       layout="topleft"       left_delta="-4"       name="inventory filter tabs" +     tab_min_width="70" +     tab_height="30"       tab_position="top" -     top_pad="4" +     top_pad="10" +     halign="center"       width="305">          <inventory_panel           follows="left|top|right|bottom"           height="295" -         label="All Items" +         label="ALL ITEMS"           layout="topleft"           left="1"           name="All Items" @@ -45,7 +48,7 @@          <inventory_panel           follows="left|top|right|bottom"           height="295" -         label="Recent Items" +         label="RECENT ITEMS"           layout="topleft"           left_delta="0"           name="Recent Items" diff --git a/indra/newview/skins/default/xui/en/panel_media_settings_security.xml b/indra/newview/skins/default/xui/en/panel_media_settings_security.xml index 7d9350b45f..6e82713f06 100644 --- a/indra/newview/skins/default/xui/en/panel_media_settings_security.xml +++ b/indra/newview/skins/default/xui/en/panel_media_settings_security.xml @@ -35,10 +35,10 @@     right="-35"     width="16"     height="16" -   image_name="parcel_color_EXP" +   image_name="Parcel_Exp_Color"     mouse_opaque="true"     follows="top|left" -   name="parcel_color_EXP" +   name="Parcel_Exp_Color"     />    <text     visible="true" diff --git a/indra/newview/skins/default/xui/en/panel_my_profile.xml b/indra/newview/skins/default/xui/en/panel_my_profile.xml index 3c87331199..d51893793c 100644 --- a/indra/newview/skins/default/xui/en/panel_my_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_my_profile.xml @@ -27,7 +27,7 @@      <string       name="no_partner_text"       value="None" /> -    <string  +    <string  	 name="RegisterDateFormat">  	 [REG_DATE] ([AGE])  	</string> @@ -156,8 +156,8 @@                  Lorem ipsum dolor sit amet, consectetur adlkjpiscing elit moose moose. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet. adipiscing elit. Aenean rigviverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet sorbet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum.              </expandable_text>          </panel> -	 -	 + +  	<!-- <panel         name="lifes_images_panel"           follows="left|top|right" @@ -207,10 +207,10 @@             top="25"             width="18" />        </panel> --> -	 -	 -	 -	 + + + +          <text           type="string"           follows="left|top" @@ -254,7 +254,7 @@           layout="topleft"           left="10"           name="register_date" -         value="05/31/1976" +         value="05/31/2376"           width="280"           word_wrap="true" />          <text @@ -351,11 +351,11 @@       name="profile_buttons_panel"       top_pad="2"       bottom="10" -     height="19" +     height="23"       width="303">          <button           follows="bottom|left" -         height="19" +         height="23"           label="Add Friend"           layout="topleft"           left="0" @@ -365,7 +365,7 @@           width="75" />          <button           follows="bottom|left" -         height="19" +         height="23"           label="IM"           layout="topleft"           name="im" @@ -374,7 +374,7 @@           width="45" />          <button           follows="bottom|left" -         height="19" +         height="23"           label="Call"           layout="topleft"           name="call" @@ -384,7 +384,7 @@          <button           enabled="false"           follows="bottom|left" -         height="19" +         height="23"           label="Map"           layout="topleft"           name="show_on_map_btn" @@ -393,7 +393,7 @@           width="45" />          <button           follows="bottom|left" -         height="19" +         height="23"           label="Teleport"           layout="topleft"           name="teleport" @@ -408,11 +408,11 @@       top_pad="-17"       name="profile_me_buttons_panel"       visible="false" -     height="19" +     height="23"       width="303">          <button           follows="bottom|right" -         height="19" +         height="23"           left="10"           label="Edit Profile"           name="edit_profile_btn" @@ -420,7 +420,7 @@           width="130" />          <button           follows="bottom|right" -         height="19" +         height="23"           label="Edit Appearance"           left_pad="10"           name="edit_appearance_btn" diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml index de612fbbc3..2543656a8b 100644 --- a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml @@ -22,6 +22,7 @@       label="Click here to chat."       layout="topleft"       left_delta="7" +     text_pad_right="25"       left="0"       max_length="512"       name="chat_box" @@ -37,7 +38,7 @@       left_pad="-24"       mouse_opaque="true"       name="chat_zone_indicator" -     top="1" +     top="6"       visible="true"       width="20" />      <button diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml index 51997a2813..0567d722d5 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml @@ -1,56 +1,52 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="Outfits"  -	  bottom="0"  -	  height="326"  -	  left="0"  -	  width="310" -	  border="true" -	  follows="left|top|right|bottom"> +<panel name="Outfits" + follows="all" +border="false">      <accordion -     follows="left|top|right|bottom" -     height="315" -     layout="topleft" +     single_expansion="true" +      follows="top|left|bottom" +      height="460" +      layout="topleft"       left="0"       name="outfits_accordion" -     top="2" -     width="310"> -        <accordion_tab +     top="0" +     width="333"> +     <accordion_tab           layout="topleft" -         name="tab_outfits" -         title="Outfits"> -	 <inventory_panel  -	 	 allow_multi_select="true"  -		 border="true"  +         name="tab_cof" +         title="Current Outfit"> +	 <inventory_panel +	 	 allow_multi_select="true" +		 border="false"  		 bottom="0" -	     follows="left|top|right|bottom"  -		 height="326"  -		 left="0"  +	         follows="all" +		 height="416" +		 left="0"  		 mouse_opaque="true" -	     name="outfitslist_accordionpanel" -		 width="310" -		 start_folder="My Outfits"/> +	         name="cof_accordionpanel" +		 width="333" +		 start_folder="Current Outfit" />          </accordion_tab>          <accordion_tab           layout="topleft" -         name="tab_cof" -         title="Current Outfit"> -	 <inventory_panel  -	 	 allow_multi_select="true"  -		 border="true"  +         name="tab_outfits" +         title="My Outfits"> +	 <inventory_panel +	 	 allow_multi_select="true" +		 border="false"  		 bottom="0" -	     follows="left|top|right|bottom"  -		 height="326"  -		 left="0"  +	     follows="all" +		 height="415" +		 left="0"  		 mouse_opaque="true" -	     name="cof_accordionpanel" -		 width="310" -		 start_folder="Current Outfit"/> +	     name="outfitslist_accordionpanel" +		 width="333" +		 start_folder="My Outfits" />          </accordion_tab>  	</accordion> - -	<button bottom="0" +	<!--<button bottom="0"  		 halign="center" -		 height="16" +		 height="23"  		 label=">"  		 enabled="false"  	     mouse_opaque="false" @@ -59,54 +55,5 @@  		 left="0"  		 visible="false"  	     follows="right|bottom" -		 tool_tip="View outfit properties"/> -    <panel -     background_visible="true" -     bevel_style="none" -     bottom="0" -     follows="left|right|bottom" -     height="30" -     layout="bottomleft" -     left="0" -	 visible="true" -     name="bottom_panel" -     width="310"> -        <button -         follows="bottom|left" -         tool_tip="Show additional options" -         height="18" -         image_disabled="OptionsMenu_Disabled" -         image_selected="OptionsMenu_Press" -         image_unselected="OptionsMenu_Off" -         layout="topleft" -         left="10" -         name="options_gear_btn" -         picture_style="true" -         top="6" -         width="18" /> -        <button -         follows="bottom|left" -         height="18" -         image_selected="AddItem_Press" -         image_unselected="AddItem_Off" -         image_disabled="AddItem_Disabled" -         layout="topleft" -         left_pad="5" -         name="add_btn" -         picture_style="true" -         tool_tip="Add new item" -         width="18" /> -        <dnd_button -         follows="bottom|right" -         height="18" -         image_selected="TrashItem_Press" -         image_unselected="TrashItem_Off" -         layout="topleft" -         right="-5" -         name="trash_btn" -         picture_style="true" -         tool_tip="Remove selected item" -         top="6" -         width="18" /> -    </panel> +		 tool_tip="View outfit properties" />-->  </panel> diff --git a/indra/newview/skins/default/xui/en/panel_picks.xml b/indra/newview/skins/default/xui/en/panel_picks.xml index 52bc72fe86..4facedc7ea 100644 --- a/indra/newview/skins/default/xui/en/panel_picks.xml +++ b/indra/newview/skins/default/xui/en/panel_picks.xml @@ -106,7 +106,7 @@               layout="topleft"               left_pad="15"               name="new_btn" -             tool_tip="Create new pick or classified at current location" +             tool_tip="Create a new pick or classified at the current location"               top="5"               width="18" />              <button @@ -138,7 +138,7 @@           left="5"           name="info_btn"           tab_stop="false" -         tool_tip="Show pic information" +         tool_tip="Show pick information"           top="0"           width="55" />          <button @@ -162,7 +162,7 @@           left_pad="5"           name="show_on_map_btn"           tab_stop="false" -         tool_tip="Show corresponding area on the world map" +         tool_tip="Show the corresponding area on the World Map"           top="0"           width="50" />          </panel> diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml index 3f5da66dce..b25d9a7dfc 100644 --- a/indra/newview/skins/default/xui/en/panel_place_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml @@ -95,49 +95,49 @@      <!-- Texture names for parcel permissions icons -->      <string       name="icon_PG" -     value="parcel_drk_PG" /> +     value="Parcel_PG_Dark" />      <string       name="icon_M" -     value="parcel_drk_M" /> +     value="Parcel_M_Dark" />      <string       name="icon_R" -     value="parcel_drk_R" /> +     value="Parcel_R_Dark" />      <string       name="icon_Voice" -     value="parcel_drk_Voice" /> +     value="Parcel_Voice_Dark" />      <string       name="icon_VoiceNo" -     value="parcel_drk_VoiceNo" /> +     value="Parcel_VoiceNo_Dark" />      <string       name="icon_Fly" -     value="parcel_drk_Fly" /> +     value="Parcel_Fly_Dark" />      <string       name="icon_FlyNo" -     value="parcel_drk_FlyNo" /> +     value="Parcel_FlyNo_Dark" />      <string       name="icon_Push" -     value="parcel_drk_Push" /> +     value="Parcel_Push_Dark" />      <string       name="icon_PushNo" -     value="parcel_drk_PushNo" /> +     value="Parcel_PushNo_Dark" />      <string       name="icon_Build" -     value="parcel_drk_Build" /> +     value="Parcel_Build_Dark" />      <string       name="icon_BuildNo" -     value="parcel_drk_BuildNo" /> +     value="Parcel_BuildNo_Dark" />      <string       name="icon_Scripts" -     value="parcel_drk_Scripts" /> +     value="Parcel_Scripts_Dark" />      <string       name="icon_ScriptsNo" -     value="parcel_drk_ScriptsNo" /> +     value="Parcel_ScriptsNo_Dark" />      <string       name="icon_Damage" -     value="parcel_drk_Damage" /> +     value="Parcel_Damage_Dark" />      <string       name="icon_DamageNo" -     value="parcel_drk_DamageNo" /> +     value="Parcel_DamageNo_Dark" />      <button       follows="top|right"       height="23" @@ -335,7 +335,7 @@                          <icon                           follows="top|left"                           height="16" -                         image_name="parcel_drk_PG" +                         image_name="Parcel_PG_Dark"                           layout="topleft"                           left="10"                           name="rating_icon" @@ -361,7 +361,7 @@                          <icon                           follows="top|left"                           height="18" -                         image_name="parcel_drk_Voice" +                         image_name="Parcel_Voice_Dark"                           layout="topleft"                           left="10"                           name="voice_icon" @@ -388,7 +388,7 @@                          <icon                           follows="top|left"                           height="18" -                         image_name="parcel_drk_Fly" +                         image_name="Parcel_Fly_Dark"                           layout="topleft"                           left="10"                           name="fly_icon" @@ -414,7 +414,7 @@                          <icon                           follows="top|left"                           height="18" -                         image_name="parcel_drk_Push" +                         image_name="Parcel_Push_Dark"                           layout="topleft"                           left="10"                           name="push_icon" @@ -440,7 +440,7 @@                          <icon                           follows="top|left"                           height="18" -                         image_name="parcel_drk_Build" +                         image_name="Parcel_Build_Dark"                           layout="topleft"                           left="10"                           name="build_icon" @@ -466,7 +466,7 @@                          <icon                           follows="top|left"                           height="18" -                         image_name="parcel_drk_Scripts" +                         image_name="Parcel_Scripts_Dark"                           layout="topleft"                           left="10"                           name="scripts_icon" @@ -492,7 +492,7 @@                          <icon                           follows="top|left"                           height="18" -                         image_name="parcel_drk_Damage" +                         image_name="Parcel_Damage_Dark"                           layout="topleft"                           left="10"                           name="damage_icon" @@ -591,7 +591,7 @@                          <icon                           follows="top|left"                           height="16" -                         image_name="parcel_drk_PG" +                         image_name="Parcel_PG_Dark"                           layout="topleft"                           left_pad="0"                           name="region_rating_icon" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml index 3aa5d3fae4..fff53c1de2 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml @@ -332,7 +332,7 @@       control_name="ChatWindow"       name="chat_window"       top_pad="10" -     tool_tip="Show chat in multiple windows(by default) or in one multi-tabbed window (requires restart)" +     tool_tip="Show your Instant Messages in separate windows, or in one window with many tabs (Requires restart)"       width="331">       <radio_item        height="16" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml index 8ef2cdfc37..854227619b 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml @@ -23,7 +23,7 @@       name="System Volume"       show_text="false"       slider_label.halign="right" -     top_pad="5" +     top="10"       volume="true"       width="350">          <slider.commit_callback @@ -34,8 +34,8 @@       control_name="MuteAudio"       follows="top|right"       height="18" -     image_selected="parcel_drk_VoiceNo" -     image_unselected="parcel_drk_Voice" +     image_selected="Parcel_VoiceNo_Dark" +     image_unselected="Parcel_Voice_Dark"       is_toggle="true"       layout="topleft"       left_pad="16" @@ -79,8 +79,8 @@       disabled_control="MuteAudio"       follows="top|right"       height="18" -     image_selected="parcel_drk_VoiceNo" -     image_unselected="parcel_drk_Voice" +     image_selected="Parcel_VoiceNo_Dark" +     image_unselected="Parcel_Voice_Dark"       is_toggle="true"       layout="topleft"       left_pad="16" @@ -114,8 +114,8 @@       disabled_control="MuteAudio"       follows="top|right"       height="18" -     image_selected="parcel_drk_VoiceNo" -     image_unselected="parcel_drk_Voice" +     image_selected="Parcel_VoiceNo_Dark" +     image_unselected="Parcel_Voice_Dark"       is_toggle="true"       layout="topleft"       left_pad="16" @@ -149,8 +149,8 @@       disabled_control="MuteAudio"       follows="top|right"       height="18" -     image_selected="parcel_drk_VoiceNo" -     image_unselected="parcel_drk_Voice" +     image_selected="Parcel_VoiceNo_Dark" +     image_unselected="Parcel_Voice_Dark"       is_toggle="true"       layout="topleft"       left_pad="16" @@ -184,8 +184,8 @@       disabled_control="MuteAudio"       follows="top|right"       height="18" -     image_selected="parcel_drk_VoiceNo" -     image_unselected="parcel_drk_Voice" +     image_selected="Parcel_VoiceNo_Dark" +     image_unselected="Parcel_Voice_Dark"       is_toggle="true"       layout="topleft"       left_pad="16" @@ -219,8 +219,8 @@       disabled_control="MuteAudio"       follows="top|right"       height="18" -     image_selected="parcel_drk_VoiceNo" -     image_unselected="parcel_drk_Voice" +     image_selected="Parcel_VoiceNo_Dark" +     image_unselected="Parcel_Voice_Dark"       is_toggle="true"       layout="topleft"       left_pad="16" @@ -230,12 +230,13 @@       width="22" />     <check_box       label_text.halign="left" -     follows="right|top" -    height="16" -    control_name ="EnableVoiceChat" -   disabled_control="CmdLineDisableVoice" -     label="Voice" -     left="50" +     follows="left|top" +     height="16" +     control_name ="EnableVoiceChat" +     disabled_control="CmdLineDisableVoice" +     label="Enable voice" +     layout="topleft" +     left="28"       name="enable_voice_check"       top_pad="5"       width="110" @@ -249,15 +250,16 @@       height="15"       increment="0.05"       initial_value="0.5" -     label_width="0" +     label="Voice" +     label_width="160"       layout="topleft" -     left="165" -     top_delta="0" +     left="0" +     top_delta="20"       name="Voice Volume"       show_text="false"       slider_label.halign="right"       volume="true" -     width="185"> +     width="350">          <slider.commit_callback           function="Pref.setControlFalse"           parameter="MuteVoice" /> @@ -268,8 +270,8 @@       disabled_control="MuteAudio"       follows="top|right"       height="18" -     image_selected="parcel_drk_VoiceNo" -     image_unselected="parcel_drk_Voice" +     image_selected="Parcel_VoiceNo_Dark" +     image_unselected="Parcel_Voice_Dark"       is_toggle="true"       layout="topleft"       left_pad="16" @@ -283,63 +285,70 @@       follows="left|top"       height="13"       layout="topleft" -     left="170" +     left="30"       name="Listen from" -     width="200"> +     width="200" +     top="205">          Listen from:      </text>      <icon -	 follows="left" +	 follows="left|top"  	 height="18"  	 image_name="Cam_FreeCam_Off" +         layout="topleft"  	 name="camera_icon"  	 mouse_opaque="false"  	 visible="true" -	 width="18" /> +	 width="18" +         left="80" +         top="219"/>  	<icon -	 follows="left" +	 follows="left|top"  	 height="18"  	 image_name="Move_Walk_Off" +         layout="topleft"  	 name="avatar_icon"  	 mouse_opaque="false"  	 visible="true" -	 width="18" /> +	 width="18" +         top="239" +         left="80" +         />     <radio_group       enabled_control="EnableVoiceChat"       control_name="VoiceEarLocation"       draw_border="false" -	 follows="left" -     left_delta="20" -	 top = "210" -	 width="221" -	 height="38" -     name="ear_location"> -        <radio_item -         height="16" -         label="Camera position" -         left_pad="1" -	follows="topleft" -         name="0" -         top_delta="-30" -         width="200" /> -        <radio_item -         height="16" -	follows="topleft" -         label="Avatar position" -         left_delta="0" -         name="1" -         top_delta="19" -         width="200" /> -    </radio_group> +     follows="left|top" +     layout="topleft" +     left="100" +     width="221" +     height="38" +     name="ear_location" +     top="218"> +    <radio_item +     height="16" +     label="Camera position" +     follows="left|top" +     layout="topleft" +     name="0" +     width="200"/> +    <radio_item +     height="16" +     follows="left|top" +     label="Avatar position" +     layout="topleft" +     name="1" +     width="200" /> +   </radio_group>    <button     control_name="ShowDeviceSettings" -   follows="left|bottom" +   follows="left|top"     height="19"     is_toggle="true" -   label="Input/Output Devices" +   label="Input/Output devices"     layout="topleft" -   left="165" -   top_pad="12" +   left="30" +   top="270"     name="device_settings_btn"     width="190">    </button> @@ -475,7 +484,7 @@      </text>-->            <icon               height="18" -             image_name="parcel_lght_Voice" +             image_name="Parcel_Voice_Light"               left="80"               name="speaker_icon"               mouse_opaque="false" diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 5dcee9e965..57b090e5b4 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -72,8 +72,8 @@      <button       follows="right|bottom"       height="16" -     image_selected="parcel_drk_VoiceNo" -     image_unselected="parcel_drk_Voice" +     image_selected="Parcel_VoiceNo_Dark" +     image_unselected="Parcel_Voice_Dark"       is_toggle="true"       left_pad="18"       top="1" diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml index 6479fc91ca..707b24c92c 100644 --- a/indra/newview/skins/default/xui/en/panel_toast.xml +++ b/indra/newview/skins/default/xui/en/panel_toast.xml @@ -46,7 +46,7 @@    </text>    <button      layout="topleft" -    top="-6" +    top="-14"      left="293"      width="17"      height="17" diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml index 4dae8e48a0..886887c2b5 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml @@ -1,111 +1,177 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel -	  background_visible="true" -	  follows="all" -	  height="400" -	  label="Appearance" -	  layout="topleft" -	  min_height="350" -	  min_width="240" -	  name="appearance panel" -	  width="333"> -	 <string -      name="No Outfit" -	  value="No Outfit" /> -     <panel -		 left="5" width="320" height="55" -		 background_visible="true" -		 background_opaque="false" -		 bg_alpha_color="0.2 0.2 0.2 1.0" -		 name="panel_currentlook" -		 follows="left|top|right"> -  	    <button -  	     	 follows="left|right|top" -  	     	 font="SansSerif" -  	     	 top="28" right="-10" width="60" height="20" -  	     	 layout="topleft" -  		 	 label="Edit" -  	     	 name="editappearance_btn"/> -        <button -	     follows="left|right|top" -		 top="28" left="5" width="25" height="22" -	     image_overlay="Inv_LookFolderOpen" -	     layout="topleft" -		 name="openoutfit_btn" -	     picture_style="true" /> -		<text -			 top="10" width="150" left="5" height="15" follows="left|right|top" -			 layout="topleft" -        	 font="SansSerif" text_color="LtGray" word_wrap="true" -        	 mouse_opaque="false" name="currentlook_title"> -					Current Outfit: -    	</text> -  		<text -			 top="32" width="150" left="32" height="15" follows="left|right|top" -			 layout="topleft" -      		 font="SansSerifBold" text_color="white" word_wrap="true" -      		 mouse_opaque="false" name="currentlook_name" > -					MyOutfit -  		</text> -	</panel> - +background_visible="true" + follows="all" + height="570" +  label="My Appearance" +  layout="topleft" + min_height="350" +  name="appearance panel" + width="333"> + <string +name="No Outfit" +value="No Outfit" /> +<panel + left="0" + top="0" + follows="top|left" +layout="topleft" + width="333" + height="45" + background_visible="true" + background_opaque="false" + bg_alpha_color="MouseGray" + name="panel_currentlook" + > +<button +   follows="left|top" +        top="0"  width="1" height="1" +        layout="topleft" +	left="0" +        name="editappearance_btn" /> +   <button +   follows="left|top" +        top="0"  width="1" height="1" +        layout="topleft" +	left="3" + name="openoutfit_btn" /> +<icon + follows="top|left" + height="30" + image_name="TabIcon_Appearance_Off" + name="outfit_icon" + mouse_opaque="false" + visible="true" + left="5" + top="0" + width="30" /> +<text + width="292" + height="22" +follows="top|left" + layout="topleft" + left_pad="5" +font="SansSerifLarge" +font.style="BOLD" +word_wrap="false" +use_ellipses="true" +mouse_opaque="false" + text_color="white" + name="currentlook_name"> +MyOutfit With a really Long Name like MOOSE +    </text> +  <text +width="290" +left="40" +height="1" +follows="top|left" + layout="topleft" + top_pad="-2" +mouse_opaque="false" + name="currentlook_title" > +(now wearing) +  </text> +</panel>      <filter_editor -  	     follows="left|top|right" -  	     font="SansSerif" -  	     label="Filter" -  	     layout="topleft" -  	     left="15"  -		 width="313" -		 height="20" -  	     name="Filter" /> +     follows="top|left" +     height="23" +     layout="topleft" +     left="15" +     label="Filter" +     max_length="300" +     name="Filter" +     top_pad="7" +     width="303" />      <panel -   	     class="panel_outfits_inventory" -   	     filename="panel_outfits_inventory.xml" - 	     name="panel_outfits_inventory" -  	     follows="all" -  	     height="271" -  	     halign="center" -  	     layout="topleft" -  	     left="10" -  	     top_pad="19" -  	     width="313" /> -    <button -  	     follows="bottom|left" -  	     height="25" -  	     label="Wear" -  	     layout="topleft" -  	     left="10" -  	     name="wear_btn" -     	 top_pad="0" -       	 width="80" /> +     follows="top|left" +     halign="center" +     height="500" +     layout="topleft" +    class="panel_outfits_inventory" +      filename="panel_outfits_inventory.xml" +      name="panel_outfits_inventory" +     min_height="300" +      left="0" +      top_pad="3" +	width="333" +       /> +   <panel +     background_visible="true" +     follows="top|left" +     height="19" +     layout="topleft" +     left="0" +     visible="true" +     name="bottom_panel" +     width="333"> +        <button +         follows="bottom|left" +         tool_tip="Show additional options" +         height="18" +         image_disabled="OptionsMenu_Disabled" +         image_selected="OptionsMenu_Press" +         image_unselected="OptionsMenu_Off" +         layout="topleft" +         left="10" +         name="options_gear_btn" +         top="6" +         width="18" /> +        <button +         follows="bottom|left" +         height="18" +         image_selected="AddItem_Press" +         image_unselected="AddItem_Off" +         image_disabled="AddItem_Disabled" +         layout="topleft" +         left_pad="5" +         name="add_btn" +         tool_tip="Add new item" +         width="18" /> +        <dnd_button +         follows="bottom|left" +         height="18" +         image_selected="TrashItem_Press" +         image_unselected="TrashItem_Off" +         layout="topleft" +         right="-5" +         name="trash_btn" +         tool_tip="Remove selected item" +         top="6" +         width="18" />      <button -    	 follows="bottom|left" -  	     height="25" -  	     label="New Outfit" -  	     layout="topleft" -  	     left_pad="0" -  	     name="newlook_btn" -  	     top_delta="0" -   	     width="90" /> - -	<panel -       	 class="panel_look_info" -       	 filename="panel_look_info.xml" -       	 follows="all" -       	 layout="topleft" -       	 left="0" -       	 name="panel_look_info" -       	 top="-200" -       	 visible="false" /> - -	<panel -	   	 class="panel_edit_wearable" -	   	 filename="panel_edit_wearable.xml" -	   	 follows="all" -	   	 layout="topleft" -	   	 left="0" -	   	 name="panel_edit_wearable" -	   	 top="-200" -	   	 visible="false" -	   	 width="333" /> +     follows="top|left" +       height="23" +       label="Wear" +       layout="topleft" +       name="wear_btn" +       right="-5" +       top_pad="0" +        width="90" /> +    </panel> + <!--   <button +     follows="bottom|left" +       height="23" +       label="New outfit" +       layout="topleft" +       left_pad="5" +       right="-10" +       name="newlook_btn" +        width="100" />--> +<panel +        class="panel_look_info" +        filename="panel_look_info.xml" +        follows="all" +        layout="topleft" +        left="0" +        name="panel_look_info" +        visible="false" /> +<panel +    class="panel_edit_wearable" +    filename="panel_edit_wearable.xml" +    follows="all" +    layout="topleft" +    left="0" +    name="panel_edit_wearable" +    visible="false" +    width="333" />  </panel> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 3b32912fbf..58aa609bd6 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -1770,7 +1770,8 @@ Clears (deletes) the media and all params from the given face.  	<string name="tattoo">Tattoo</string>  	<string name="invalid">invalid</string> -	<!-- notify --> +	<!-- LLGroupNotify --> +	<!-- used in the construction of a Group Notice blue dialog box, buttons, tooltip etc. Seems to be no longer utilized by code in Viewer 2.0 -->  	<string name="next">Next</string>  	<string name="ok">OK</string>  	<string name="GroupNotifyGroupNotice">Group Notice</string> @@ -1780,6 +1781,7 @@ Clears (deletes) the media and all params from the given face.  	<string name="GroupNotifyViewPastNotices">View past notices or opt-out of receiving these messages here.</string>  	<string name="GroupNotifyOpenAttachment">Open Attachment</string>  	<string name="GroupNotifySaveAttachment">Save Attachment</string> +    <string name="TeleportOffer">Teleport offering</string>    <!-- start-up toast's string-->    <string name="StartUpNotifications">New notifications arrived while you were away.</string> @@ -1805,6 +1807,7 @@ Clears (deletes) the media and all params from the given face.  	<!-- inventory -->  	<string name="InventoryNoMatchingItems">No matching items found in inventory.</string> +  <string name="FavoritesNoMatchingItems">Drag and drop a landmark here to add to your favorites.</string>  	<string name="InventoryNoTexture">  		You do not have a copy of  this texture in your inventory diff --git a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml index 0e34243349..48baa2812d 100644 --- a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml +++ b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml @@ -4,6 +4,7 @@    search_button_visible="true"    text_pad_left="7"    select_on_focus="true" +  text_tentative_color="TextFgTentativeColor"    background_image="TextField_Search_Off"    background_image_disabled="TextField_Search_Disabled"    background_image_focused="TextField_Search_Active"> diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml index 0e2700cb80..7ac44b412d 100644 --- a/indra/newview/skins/default/xui/en/widgets/location_input.xml +++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml @@ -22,9 +22,12 @@                  >    <!-- *NOTE: Tooltips are in strings.xml so they can be localized.    See LocationCtrlAddLandmarkTooltip etc. --> -  <info_button name="Place Information" -                          width="16" -                          height="16" +  <info_button +    name="Place Information" +    width="16" +    height="16" +    left="4"  +    top="20"                             follows="left|top"                            hover_glow_amount="0.15"                            image_unselected="Info_Off" @@ -43,8 +46,8 @@  			  left="-3" />    <for_sale_button      name="for_sale_btn" -    image_unselected="parcel_lght_ForSale" -    image_selected="parcel_lght_ForSale" +    image_unselected="Parcel_ForSale_Light" +    image_selected="Parcel_ForSale_Light"      width="22"      height="18"      follows="right|top" @@ -58,7 +61,7 @@      height="18"      top="21"      follows="right|top" -    image_name="parcel_lght_VoiceNo" +    image_name="Parcel_VoiceNo_Light"      />    <fly_icon      name="fly_icon" @@ -66,7 +69,7 @@      height="18"      top="21"      follows="right|top" -    image_name="parcel_lght_FlyNo" +    image_name="Parcel_FlyNo_Light"      />    <push_icon      name="push_icon" @@ -74,7 +77,7 @@      height="18"      top="21"      follows="right|top" -    image_name="parcel_lght_PushNo" +    image_name="Parcel_PushNo_Light"      />    <build_icon      name="build_icon" @@ -82,7 +85,7 @@      height="18"      top="21"      follows="right|top" -    image_name="parcel_lght_BuildNo" +    image_name="Parcel_BuildNo_Light"      />    <scripts_icon      name="scripts_icon" @@ -90,7 +93,7 @@      height="18"      top="21"      follows="right|top" -    image_name="parcel_lght_ScriptsNo" +    image_name="Parcel_ScriptsNo_Light"      />    <!-- NOTE: Placeholder icon, there is no dark grayscale version -->    <damage_icon @@ -99,7 +102,7 @@      height="18"      top="21"      follows="right|top" -    image_name="parcel_lght_Damage" +    image_name="Parcel_Damage_Light"      />    <!-- Default text color is invisible on top of nav bar background -->    <damage_text diff --git a/indra/newview/skins/default/xui/en/widgets/output_monitor.xml b/indra/newview/skins/default/xui/en/widgets/output_monitor.xml index 98b3e2faaa..21b957d089 100644 --- a/indra/newview/skins/default/xui/en/widgets/output_monitor.xml +++ b/indra/newview/skins/default/xui/en/widgets/output_monitor.xml @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <output_monitor -  image_mute="parcel_lght_VoiceNo" +  image_mute="Parcel_VoiceNo_Light"    image_off="VoicePTT_Off"    image_on="VoicePTT_On"    image_level_1="VoicePTT_Lvl1" diff --git a/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml b/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml index c2a70d4b39..5d429d5b5b 100644 --- a/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml +++ b/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml @@ -13,7 +13,8 @@   <combo_editor    name="child1"    select_on_focus="true" -  text_pad_left="30"  +  text_pad_left="30" +  text_tentative_color="TextFgTentativeColor"    background_image="TextField_Search_Off"    background_image_disabled="TextField_Search_Disabled"    background_image_focused="TextField_Search_Active"/> diff --git a/indra/newview/skins/default/xui/en/widgets/search_editor.xml b/indra/newview/skins/default/xui/en/widgets/search_editor.xml index f644a710b2..1616e4c3f7 100644 --- a/indra/newview/skins/default/xui/en/widgets/search_editor.xml +++ b/indra/newview/skins/default/xui/en/widgets/search_editor.xml @@ -4,6 +4,7 @@    search_button_visible="true"    text_pad_left="6"     select_on_focus="true" +  text_tentative_color="TextFgTentativeColor"    background_image="TextField_Search_Off"    background_image_disabled="TextField_Search_Disabled"    background_image_focused="TextField_Search_Active" > diff --git a/indra/newview/skins/default/xui/en/widgets/spinner.xml b/indra/newview/skins/default/xui/en/widgets/spinner.xml index ab3f8df5f8..d7af6077e5 100644 --- a/indra/newview/skins/default/xui/en/widgets/spinner.xml +++ b/indra/newview/skins/default/xui/en/widgets/spinner.xml @@ -1,7 +1,7 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <spinner text_enabled_color="LabelTextColor"           text_disabled_color="LabelDisabledColor" -         font="SansSerif"  +         font="SansSerifSmall"            decimal_digits="3"           label_width="40" >    <spinner.up_button name="SpinCtrl Up" diff --git a/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml new file mode 100644 index 0000000000..eaa68f5690 --- /dev/null +++ b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<!-- Menu items for the back button drop-down menu of locations. +  Based on menu_item_call.xml --> +<teleport_history_menu_item +  back_item_font="SansSerif" +  current_item_font="SansSerifBold" +  forward_item_font="SansSerif" +  back_item_image="teleport_history_backward.tga" +  forward_item_image="teleport_history_forward.tga" +  image_hpad="1" +  image_vpad="0" +  /> diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp index b14c59ab9a..02c13716ed 100644 --- a/indra/viewer_components/login/lllogin.cpp +++ b/indra/viewer_components/login/lllogin.cpp @@ -133,9 +133,16 @@ void LLLogin::Impl::connect(const std::string& uri, const LLSD& credentials)  void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credentials)  { -    LL_INFOS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self) -                        << " with uri '" << uri << "', credentials " << credentials << LL_ENDL; -    // Arriving in SRVRequest state +	LLSD printable_credentials = credentials; +	if(printable_credentials.has("params")  +		&& printable_credentials["params"].has("passwd"))  +	{ +		printable_credentials["params"]["passwd"] = "*******"; +	} +    LL_DEBUGS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self) +                        << " with uri '" << uri << "', credentials " << printable_credentials << LL_ENDL; + +	// Arriving in SRVRequest state      LLEventStream replyPump("reply", true);      // Should be an array of one or more uri strings.      LLSD rewrittenURIs; @@ -144,7 +151,7 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credential          sendProgressEvent("offline", "srvrequest");          // Request SRV record. -        LL_INFOS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL; +        LL_DEBUGS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL;          // *NOTE:Mani - Completely arbitrary default timeout value for SRV request.  		F32 seconds_to_timeout = 5.0f; @@ -193,6 +200,11 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credential              LLSD progress_data;              progress_data["attempt"] = attempts;              progress_data["request"] = request; +			if(progress_data["request"].has("params") +				&& progress_data["request"]["params"].has("passwd")) +			{ +				progress_data["request"]["params"]["passwd"] = "*******"; +			}              sendProgressEvent("offline", "authenticating", progress_data);              // We expect zero or more "Downloading" status events, followed by | 
