diff options
33 files changed, 435 insertions, 256 deletions
| diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 60ef01074b..2648cbf08d 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -23,7 +23,7 @@   * By copying, modifying or distributing this software, you acknowledge   * that you have read and understood your obligations described above,   * and agree to abide by those obligations. - *  +  *   * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO   * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,   * COMPLETENESS OR PERFORMANCE. @@ -1208,22 +1208,41 @@ void LLMenuItemBranchGL::openMenu()  		branch->arrange(); -		LLRect rect = branch->getRect(); +		LLRect branch_rect = branch->getRect();  		// calculate root-view relative position for branch menu  		S32 left = getRect().mRight;  		S32 top = getRect().mTop - getRect().mBottom;  		localPointToOtherView(left, top, &left, &top, branch->getParent()); -		rect.setLeftTopAndSize( left, top, -								rect.getWidth(), rect.getHeight() ); +		branch_rect.setLeftTopAndSize( left, top, +								branch_rect.getWidth(), branch_rect.getHeight() );  		if (branch->getCanTearOff())  		{ -			rect.translate(0, TEAROFF_SEPARATOR_HEIGHT_PIXELS); +			branch_rect.translate(0, TEAROFF_SEPARATOR_HEIGHT_PIXELS); +		} +		branch->setRect( branch_rect ); +		 +		// if branch extends outside of menu region change the direction it opens in +		S32 x, y; +		S32 delta_x = 0; +		S32 delta_y = 0; +		branch->localPointToOtherView( 0, 0, &x, &y, branch->getParent() );  +		if( y < menu_region_rect.mBottom ) +		{ +			// open upwards if menu extends past bottom +			// adjust by the height of the menu item branch since it is a submenu +			delta_y = branch_rect.getHeight() - getRect().getHeight();		  		} -		branch->setRect( rect ); -		branch->translateIntoRectWithExclusion( menu_region_rect, getMenu()->getRect(), FALSE ); + +		if( x + branch_rect.getWidth() > menu_region_rect.mRight ) +		{ +			// move sub-menu over to left side +			delta_x = llmax(-x, ( -(branch_rect.getWidth() + getRect().getWidth()))); +		} +		branch->translate( delta_x, delta_y ); +  		branch->setVisible( TRUE );  		branch->getParent()->sendChildToFront(branch); diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index a25f805437..8918fc3018 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -218,6 +218,7 @@ set(viewer_SOURCE_FILES      llfloaterwater.cpp      llfloaterwhitelistentry.cpp      llfloaterwindlight.cpp +    llfloaterwindowsize.cpp      llfloaterworldmap.cpp      llfolderview.cpp      llfolderviewitem.cpp @@ -725,6 +726,7 @@ set(viewer_HEADER_FILES      llfloaterwater.h      llfloaterwhitelistentry.h      llfloaterwindlight.h +    llfloaterwindowsize.h      llfloaterworldmap.h      llfolderview.h      llfoldervieweventlistener.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 0ee39c2fc8..e24e1a8605 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -265,6 +265,17 @@        <key>Value</key>        <real>0.5</real>      </map> +    <key>AudioLevelWind</key> +    <map> +      <key>Comment</key> +      <string>Audio level of wind noise when standing still</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>F32</string> +      <key>Value</key> +      <real>0.5</real> +    </map>  	<key>AudioSteamingMedia</key>      <map>        <key>Comment</key> @@ -3235,6 +3246,17 @@        <key>Value</key>        <real>0.75</real>      </map> +    <key>FolderIndentation</key> +    <map> +      <key>Comment</key> +      <string>Number of pixels to indent subfolders in inventory</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>S32</string> +      <key>Value</key> +      <integer>8</integer> +    </map>      <key>FolderLoadingMessageWaitTime</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 79ba3fb51d..b221c28dcd 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -2128,6 +2128,7 @@ void LLLibraryOutfitsFetch::done()  	}  	if (mOutfitsPopulated)  	{ +		gInventory.notifyObservers();  		delete this;  	}  } @@ -2162,6 +2163,11 @@ void LLLibraryOutfitsFetch::folderDone(void)  		// everything is already here - call done.  		outfitsDone();  	} +	else  +	{ +		gInventory.removeObserver(this); +		gInventory.addObserver(this); +	}  }  void LLLibraryOutfitsFetch::outfitsDone(void) @@ -2172,6 +2178,8 @@ void LLLibraryOutfitsFetch::outfitsDone(void)  								  LLInventoryModel::EXCLUDE_TRASH);  	LLInventoryFetchDescendentsObserver::folder_ref_t folders; +	 +	llassert(cat_array.count() > 0);  	for(S32 i = 0; i < cat_array.count(); ++i)  	{  		if (cat_array.get(i)->getName() != "More Outfits" && cat_array.get(i)->getName() != "Ruth"){ @@ -2186,6 +2194,11 @@ void LLLibraryOutfitsFetch::outfitsDone(void)  		// everything is already here - call done.  		contentsDone();  	} +	else +	{ +		gInventory.removeObserver(this); +		gInventory.addObserver(this); +	}  }  void LLLibraryOutfitsFetch::contentsDone(void) @@ -2199,7 +2212,6 @@ void LLLibraryOutfitsFetch::contentsDone(void)  														mOutfits[i].second);  		LLAppearanceManager::getInstance()->shallowCopyCategory(mOutfits[i].first, folder_id, NULL); -		gInventory.notifyObservers();  	}  	mOutfitsPopulated = true;  } diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 7e0e8bfaa7..11dd48056c 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -103,15 +103,10 @@  #include "llworld.h"  #include "pipeline.h"  #include "lluictrlfactory.h" -#include "llboost.h"  #include "llviewermedia.h"  #include "llpluginclassmedia.h"  #include "llteleporthistorystorage.h" -#include <boost/regex.hpp> - -//RN temporary includes for resolution switching -#include "llglheaders.h"  const F32 MAX_USER_FAR_CLIP = 512.f;  const F32 MIN_USER_FAR_CLIP = 64.f; @@ -193,7 +188,6 @@ bool callback_clear_browser_cache(const LLSD& notification, const LLSD& response  bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater);  bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater); -bool extractWindowSizeFromString(const std::string& instr, U32 &width, U32 &height);  void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator);  viewer_media_t get_web_media() @@ -273,23 +267,6 @@ bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFl  } -// Extract from strings of the form "<width> x <height>", e.g. "640 x 480". -bool extractWindowSizeFromString(const std::string& instr, U32 &width, U32 &height) -{ -	using namespace boost; -	cmatch what; -	const regex expression("([0-9]+) x ([0-9]+)"); -	if (regex_match(instr.c_str(), what, expression)) -	{ -		width = atoi(what[1].first); -		height = atoi(what[2].first); -		return true; -	} -	 -	width = height = 0; -	return false; -} -  void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator)  {  	numerator = 0; @@ -499,13 +476,6 @@ void LLFloaterPreference::apply()  	}  	applyResolution(); -	 -	// Only set window size if we're not in fullscreen mode -	if(!gSavedSettings.getBOOL("WindowFullScreen")) -	{ -		applyWindowSize(); -	} -	  }  void LLFloaterPreference::cancel() @@ -1264,20 +1234,6 @@ void LLFloaterPreference::onKeystrokeAspectRatio()  	getChild<LLCheckBoxCtrl>("aspect_auto_detect")->set(FALSE);  } -void LLFloaterPreference::applyWindowSize() -{ -	LLComboBox* ctrl_windowSize = getChild<LLComboBox>("windowsize combo"); -	if (ctrl_windowSize->getVisible() && (ctrl_windowSize->getCurrentIndex() != -1)) -	{ -		U32 width = 0; -		U32 height = 0; -		if (extractWindowSizeFromString(ctrl_windowSize->getValue().asString().c_str(), width,height)) -		{ -			LLViewerWindow::movieSize(width, height); -		} -	} -} -  void LLFloaterPreference::applyResolution()  {  	LLComboBox* ctrl_aspect_ratio = getChild<LLComboBox>( "aspect_ratio"); @@ -1345,36 +1301,7 @@ void LLFloaterPreference::applyResolution()  	refresh();  } -void LLFloaterPreference::initWindowSizeControls(LLPanel* panelp) -{ -	// Window size -	//	mWindowSizeLabel = getChild<LLTextBox>("WindowSizeLabel"); -	LLComboBox* ctrl_window_size = panelp->getChild<LLComboBox>("windowsize combo"); -	 -	// Look to see if current window size matches existing window sizes, if so then -	// just set the selection value... -	const U32 height = gViewerWindow->getWindowHeightRaw(); -	const U32 width = gViewerWindow->getWindowWidthRaw(); -	for (S32 i=0; i < ctrl_window_size->getItemCount(); i++) -	{ -		U32 height_test = 0; -		U32 width_test = 0; -		ctrl_window_size->setCurrentByIndex(i); -		if (extractWindowSizeFromString(ctrl_window_size->getValue().asString(), width_test, height_test)) -		{ -			if ((height_test == height) && (width_test == width)) -			{ -				return; -			} -		} -	} -	// ...otherwise, add a new entry with the current window height/width. -	LLUIString resolution_label = panelp->getString("resolution_format"); -	resolution_label.setArg("[RES_X]", llformat("%d", width)); -	resolution_label.setArg("[RES_Y]", llformat("%d", height)); -	ctrl_window_size->add(resolution_label, ADD_TOP); -	ctrl_window_size->setCurrentByIndex(0); -} +  void LLFloaterPreference::applyUIColor(LLUICtrl* ctrl, const LLSD& param) @@ -1433,53 +1360,8 @@ BOOL LLPanelPreference::postBuild()  	if(hasChild("aspect_ratio"))  	{ -		//============================================================================ -		// Resolution -/* -		S32 num_resolutions = 0; -		LLWindow::LLWindowResolution* supported_resolutions = gViewerWindow->getWindow()->getSupportedResolutions(num_resolutions); -		 -		S32 fullscreen_mode = num_resolutions - 1; -		 -		LLComboBox*ctrl_full_screen = getChild<LLComboBox>( "fullscreen combo"); -		LLUIString resolution_label = getString("resolution_format"); -		 -		for (S32 i = 0; i < num_resolutions; i++) -		{ -			resolution_label.setArg("[RES_X]", llformat("%d", supported_resolutions[i].mWidth)); -			resolution_label.setArg("[RES_Y]", llformat("%d", supported_resolutions[i].mHeight)); -			ctrl_full_screen->add( resolution_label, ADD_BOTTOM ); -		} -		 -		{ -			BOOL targetFullscreen; -			S32 targetWidth; -			S32 targetHeight; -			 -			gViewerWindow->getTargetWindow(targetFullscreen, targetWidth, targetHeight); -			 -			if (targetFullscreen) -			{ -				fullscreen_mode = 0; // default to 800x600 -				for (S32 i = 0; i < num_resolutions; i++) -				{ -					if (targetWidth == supported_resolutions[i].mWidth -						&&  targetHeight == supported_resolutions[i].mHeight) -					{ -						fullscreen_mode = i; -					} -				} -				ctrl_full_screen->setCurrentByIndex(fullscreen_mode); -			} -			else -			{ -				// set to windowed mode -				//fullscreen_mode = mCtrlFullScreen->getItemCount() - 1; -				ctrl_full_screen->setCurrentByIndex(0); -			} -		} -	*/	 -		LLFloaterPreference::initWindowSizeControls(this); +		// We used to set up fullscreen resolution and window size +		// controls here, see LLFloaterWindowSize::initWindowSizeControls()  		if (gSavedSettings.getBOOL("FullScreenAutoDetectAspectRatio"))  		{ diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index 94108cb79a..74a53d673c 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -130,16 +130,12 @@ public:  	void onUpdateSliderText(LLUICtrl* ctrl, const LLSD& name);  	void onKeystrokeAspectRatio();  //	void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator); -//	bool extractWindowSizeFromString(const std::string& instr, U32 &width, U32 &height);  	void onCommitAutoDetectAspect();  	void applyResolution(); -	void applyWindowSize();  	void applyUIColor(LLUICtrl* ctrl, const LLSD& param);  	void getUIColor(LLUICtrl* ctrl, const LLSD& param);	 -	static void initWindowSizeControls(LLPanel* panelp); -	  	void buildPopupLists();  	static void refreshSkin(void* data);  	static void cleanupBadSetting(); diff --git a/indra/newview/llfloaterwindowsize.cpp b/indra/newview/llfloaterwindowsize.cpp new file mode 100644 index 0000000000..5519be6f08 --- /dev/null +++ b/indra/newview/llfloaterwindowsize.cpp @@ -0,0 +1,164 @@ +/**  + * @file llfloaterwindowsize.cpp + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + *  + * Copyright (c) 2001-2009, Linden Research, Inc. + *  + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab.  Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + *  + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + *  + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + *  + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ +  +#include "llviewerprecompiledheaders.h" + +#include "llfloaterwindowsize.h" + +// Viewer includes +#include "llviewerwindow.h" + +// Linden library includes +#include "llcombobox.h" +#include "llfloater.h" +#include "llfloaterreg.h" +#include "lluictrl.h" + +// System libraries +#include <boost/regex.hpp> + +// Extract from strings of the form "<width> x <height>", e.g. "640 x 480". +bool extractWindowSizeFromString(const std::string& instr, U32 *width, U32 *height) +{ +	boost::cmatch what; +	// matches (any number)(any non-number)(any number) +	const boost::regex expression("([0-9]+)[^0-9]+([0-9]+)"); +	if (boost::regex_match(instr.c_str(), what, expression)) +	{ +		*width = atoi(what[1].first); +		*height = atoi(what[2].first); +		return true; +	} +	 +	*width = 0; +	*height = 0; +	return false; +} + + +///---------------------------------------------------------------------------- +/// Class LLFloaterWindowSize +///---------------------------------------------------------------------------- +class LLFloaterWindowSize +:	public LLFloater +{ +	friend class LLFloaterReg; +private: +	LLFloaterWindowSize(const LLSD& key); +	virtual ~LLFloaterWindowSize(); + +public: +	/*virtual*/ BOOL postBuild(); +	void initWindowSizeControls(); +	void onClickSet(); +	void onClickCancel(); +}; + + +LLFloaterWindowSize::LLFloaterWindowSize(const LLSD& key)  +:	LLFloater(key) +{ +	//LLUICtrlFactory::getInstance()->buildFloater(this, "floater_window_size.xml");	 +} + +LLFloaterWindowSize::~LLFloaterWindowSize() +{ +} + +BOOL LLFloaterWindowSize::postBuild() +{ +	center(); +	initWindowSizeControls(); +	getChild<LLUICtrl>("set_btn")->setCommitCallback( +		boost::bind(&LLFloaterWindowSize::onClickSet, this)); +	getChild<LLUICtrl>("cancel_btn")->setCommitCallback( +		boost::bind(&LLFloaterWindowSize::onClickCancel, this)); +	setDefaultBtn("set_btn"); +	return TRUE; +} + +void LLFloaterWindowSize::initWindowSizeControls() +{ +	LLComboBox* ctrl_window_size = getChild<LLComboBox>("window_size_combo"); +	 +	// Look to see if current window size matches existing window sizes, if so then +	// just set the selection value... +	const U32 height = gViewerWindow->getWindowHeightRaw(); +	const U32 width = gViewerWindow->getWindowWidthRaw(); +	for (S32 i=0; i < ctrl_window_size->getItemCount(); i++) +	{ +		U32 height_test = 0; +		U32 width_test = 0; +		ctrl_window_size->setCurrentByIndex(i); +		std::string resolution = ctrl_window_size->getValue().asString(); +		if (extractWindowSizeFromString(resolution, &width_test, &height_test)) +		{ +			if ((height_test == height) && (width_test == width)) +			{ +				return; +			} +		} +	} +	// ...otherwise, add a new entry with the current window height/width. +	LLUIString resolution_label = getString("resolution_format"); +	resolution_label.setArg("[RES_X]", llformat("%d", width)); +	resolution_label.setArg("[RES_Y]", llformat("%d", height)); +	ctrl_window_size->add(resolution_label, ADD_TOP); +	ctrl_window_size->setCurrentByIndex(0); +} + +void LLFloaterWindowSize::onClickSet() +{ +	LLComboBox* ctrl_window_size = getChild<LLComboBox>("window_size_combo"); +	U32 width = 0; +	U32 height = 0; +	std::string resolution = ctrl_window_size->getValue().asString(); +	if (extractWindowSizeFromString(resolution, &width, &height)) +	{ +		LLViewerWindow::movieSize(width, height); +	} +	closeFloater(); +} + +void LLFloaterWindowSize::onClickCancel() +{ +	closeFloater(); +} + +///---------------------------------------------------------------------------- +/// LLFloaterWindowSizeUtil +///---------------------------------------------------------------------------- +void LLFloaterWindowSizeUtil::registerFloater() +{ +	LLFloaterReg::add("window_size", "floater_window_size.xml", +		&LLFloaterReg::build<LLFloaterWindowSize>); + +} diff --git a/indra/newview/llfloaterwindowsize.h b/indra/newview/llfloaterwindowsize.h new file mode 100644 index 0000000000..fd9d17323a --- /dev/null +++ b/indra/newview/llfloaterwindowsize.h @@ -0,0 +1,41 @@ +/**  + * @file llfloaterwindowsize.h + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + *  + * Copyright (c) 2001-2009, Linden Research, Inc. + *  + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab.  Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + *  + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + *  + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + *  + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LLFLOATERWINDOWSIZE_H +#define LLFLOATERWINDOWSIZE_H + +// Allow user to set the window size for filming tutorials, machinima, etc +namespace LLFloaterWindowSizeUtil +{ +	void registerFloater(); +} + +#endif diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 474d2ca21f..112b23d2df 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -206,7 +206,8 @@ LLFolderView::LLFolderView(const Params& p)  	mAutoOpenCandidate = NULL;  	mAutoOpenTimer.stop();  	mKeyboardSelection = FALSE; -	mIndentation = -LEFT_INDENTATION; // children start at indentation 0 +    static LLUICachedControl<S32> indentation("FolderIndentation", 0); +	mIndentation = -indentation; // children start at indentation 0  	gIdleCallbacks.addFunction(idle, this);  	//clear label diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 720c2c7b1a..9d54aafd67 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -392,10 +392,11 @@ 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)  { +    static LLUICachedControl<S32> indentation("FolderIndentation", 0);  	mIndentation = (getParentFolder()   					&& getParentFolder()->getParentFolder()   					&& getParentFolder()->getParentFolder()->getParentFolder()) -		? mParentFolder->getIndentation() + LEFT_INDENTATION  +		? mParentFolder->getIndentation() + indentation  		: 0;  	if (mLabelWidthDirty)  	{ diff --git a/indra/newview/llfolderviewitem.h b/indra/newview/llfolderviewitem.h index 21e24c2a4d..6f8c738a59 100644 --- a/indra/newview/llfolderviewitem.h +++ b/indra/newview/llfolderviewitem.h @@ -93,7 +93,6 @@ public:  	static void initClass();  	static void cleanupClass(); -	// jamesdebug was LLUICtrl::Params  	struct Params : public LLInitParam::Block<Params, LLView::Params>  	{  		Optional<LLUIImage*>					icon; @@ -111,7 +110,7 @@ public:  	// layout constants  	static const S32 LEFT_PAD = 5; -	static const S32 LEFT_INDENTATION = 2; +    // LEFT_INDENTATION is set via settings.xml FolderIndentation  	static const S32 ICON_PAD = 2;  	static const S32 ICON_WIDTH = 16;  	static const S32 TEXT_PAD = 1; diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp index 26368fb0a8..a857e30d4f 100644 --- a/indra/newview/llpreviewtexture.cpp +++ b/indra/newview/llpreviewtexture.cpp @@ -419,12 +419,10 @@ void LLPreviewTexture::updateDimensions()  	view_height += info_height;  	S32 button_height = 0; -	if (mShowKeepDiscard || mCopyToInv) {  //mCopyToInvBtn - -		// add space for buttons -		view_height += 	(BTN_HEIGHT + CLIENT_RECT_VPAD) * 3; -		button_height = (BTN_HEIGHT + PREVIEW_PAD) * 3; -	} +	 +	// add space for buttons +	view_height += 	(BTN_HEIGHT + CLIENT_RECT_VPAD) * 3; +	button_height = (BTN_HEIGHT + PREVIEW_PAD) * 3;  	view_width = llmax(view_width, getMinWidth());  	view_height = llmax(view_height, getMinHeight()); diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp index 1965e634b6..814508daa9 100644 --- a/indra/newview/llsidepaneliteminfo.cpp +++ b/indra/newview/llsidepaneliteminfo.cpp @@ -168,11 +168,13 @@ void LLSidepanelItemInfo::refresh()  		if (getIsEditing())  		{  			setIsEditing(FALSE); -			return;  		}  	} +	 +	const LLUUID trash_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH); +	bool is_editable = item && (item->getUUID() != trash_id) && !gInventory.isObjectDescendentOf(item->getUUID(), trash_id); -	if (!getIsEditing() || !item) +	if (!getIsEditing() || !is_editable)  	{  		const std::string no_item_names[]={  			"LabelItemName", @@ -210,7 +212,7 @@ void LLSidepanelItemInfo::refresh()  		}  	} -	if (!item) +	if (!is_editable)  	{  		const std::string no_edit_mode_names[]={  			"BtnCreator", diff --git a/indra/newview/llvieweraudio.cpp b/indra/newview/llvieweraudio.cpp index e7f904023a..38103f9e41 100644 --- a/indra/newview/llvieweraudio.cpp +++ b/indra/newview/llvieweraudio.cpp @@ -211,19 +211,31 @@ void audio_update_wind(bool force_update)  		//  		if (force_update || (last_camera_water_height * camera_water_height) < 0.f)  		{ +            static LLUICachedControl<F32> rolloff("AudioLevelRolloff", 1.0f);  			if (camera_water_height < 0.f)  			{ -				gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelRolloff") * LL_ROLLOFF_MULTIPLIER_UNDER_WATER); +				gAudiop->setRolloffFactor(rolloff * LL_ROLLOFF_MULTIPLIER_UNDER_WATER);  			}  			else   			{ -				gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelRolloff")); +				gAudiop->setRolloffFactor(rolloff);  			}  		} -		// this line rotates the wind vector to be listener (agent) relative -		// Only use the agent's motion to compute wind noise, otherwise the world -		// feels desolate on login when you are standing still. -		gRelativeWindVec = gAgent.getFrameAgent().rotateToLocal( -gAgent.getVelocity() ); +         +        // Scale down the contribution of weather-simulation wind to the +        // ambient wind noise.  Wind velocity averages 3.5 m/s, with gusts to 7 m/s +        // whereas steady-state avatar walk velocity is only 3.2 m/s. +        // Without this the world feels desolate on first login when you are +        // standing still. +        static LLUICachedControl<F32> wind_level("AudioLevelWind", 0.5f); +        LLVector3 scaled_wind_vec = gWindVec * wind_level; +         +        // Mix in the avatar's motion, subtract because when you walk north, +        // the apparent wind moves south. +        LLVector3 final_wind_vec = scaled_wind_vec - gAgent.getVelocity(); +         +		// rotate the wind vector to be listener (agent) relative +		gRelativeWindVec = gAgent.getFrameAgent().rotateToLocal( final_wind_vec );  		// don't use the setter setMaxWindGain() because we don't  		// want to screw up the fade-in on startup by setting actual source gain diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 3a6c09f31f..23bdbc7381 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -110,6 +110,7 @@  #include "llfloaterwater.h"  #include "llfloaterwhitelistentry.h"  #include "llfloaterwindlight.h" +#include "llfloaterwindowsize.h"  #include "llfloaterworldmap.h"  #include "llimfloatercontainer.h"  #include "llinspectavatar.h" @@ -259,6 +260,7 @@ void LLViewerFloaterReg::registerFloaters()  	LLFloaterReg::add("voice_controls", "floater_voice_controls.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLCallFloater>);  	LLFloaterReg::add("whitelist_entry", "floater_whitelist_entry.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWhiteListEntry>);	 +	LLFloaterWindowSizeUtil::registerFloater();  	LLFloaterReg::add("world_map", "floater_world_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWorldMap>);	  	// *NOTE: Please keep these alphabetized for easier merges diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index 18cdd23ed9..917d69fe16 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -278,10 +278,14 @@ void LLVoiceChannel::deactivate()  	if (callStarted())  	{  		setState(STATE_HUNG_UP); -		// mute the microphone if required when returning to the proximal channel -		if (gSavedSettings.getBOOL("AutoDisengageMic") && sCurrentVoiceChannel == this) +		 +		//Default mic is OFF when leaving voice calls +		if (gSavedSettings.getBOOL("AutoDisengageMic") &&  +			sCurrentVoiceChannel == this && +			gVoiceClient->getUserPTTState())  		{  			gSavedSettings.setBOOL("PTTCurrentlyEnabled", true); +			gVoiceClient->inputUserControlState(true);  		}  	} @@ -498,6 +502,13 @@ void LLVoiceChannelGroup::activate()  				LLRecentPeople::instance().add(buddy_id);  		}  #endif + +		//Mic default state is OFF on initiating/joining Ad-Hoc/Group calls +		if (gVoiceClient->getUserPTTState() && gVoiceClient->getPTTIsToggle()) +		{ +			gVoiceClient->inputUserControlState(true); +		} +		  	}  } @@ -811,6 +822,12 @@ void LLVoiceChannelP2P::activate()  		// Add the party to the list of people with which we've recently interacted.  		LLRecentPeople::instance().add(mOtherUserID); + +		//Default mic is ON on initiating/joining P2P calls +		if (!gVoiceClient->getUserPTTState() && gVoiceClient->getPTTIsToggle()) +		{ +			gVoiceClient->inputUserControlState(true); +		}  	}  } diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index c2d26a1971..899cc35238 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -5883,6 +5883,10 @@ void LLVoiceClient::setPTTIsToggle(bool PTTIsToggle)  	mPTTIsToggle = PTTIsToggle;  } +bool LLVoiceClient::getPTTIsToggle() +{ +	return mPTTIsToggle; +}  void LLVoiceClient::setPTTKey(std::string &key)  { diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h index 347fae6156..724179847d 100644 --- a/indra/newview/llvoiceclient.h +++ b/indra/newview/llvoiceclient.h @@ -193,6 +193,7 @@ static	void updatePosition(void);  		static bool voiceEnabled();  		void setUsePTT(bool usePTT);  		void setPTTIsToggle(bool PTTIsToggle); +		bool getPTTIsToggle();  		void setPTTKey(std::string &key);  		void setEarLocation(S32 loc);  		void setVoiceVolume(F32 volume); diff --git a/indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.png b/indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.pngBinary files differ new file mode 100644 index 0000000000..d72f02f708 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index b5f6109b1b..cc87d5c105 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -172,6 +172,7 @@ with the same filename but different name    <texture name="ForwardArrow_Press" file_name="icons/ForwardArrow_Press.png" preload="false" />    <texture name="Generic_Group" file_name="icons/Generic_Group.png" preload="false" /> +  <texture name="icon_group.tga" file_name="icons/Generic_Group.png" preload="false" />    <texture name="Generic_Group_Large" file_name="icons/Generic_Group_Large.png" preload="false" />    <texture name="Generic_Object_Medium" file_name="icons/Generic_Object_Medium.png" preload="false" />    <texture name="Generic_Object_Small" file_name="icons/Generic_Object_Small.png" preload="false" /> @@ -314,6 +315,9 @@ with the same filename but different name    <texture name="Notices_Unread" file_name="bottomtray/Notices_Unread.png" preload="true" /> +  <texture name="NoEntryLines" file_name="world/NoEntryLines.png" use_mips="true" preload="false" /> +  <texture name="NoEntryPassLines" file_name="world/NoEntryPassLines.png" use_mips="true" preload="false" /> +    <texture name="Object_Cone" file_name="build/Object_Cone.png" preload="false" />    <texture name="Object_Cube" file_name="build/Object_Cube.png" preload="false" />    <texture name="Object_Cylinder" file_name="build/Object_Cylinder.png" preload="false" /> @@ -553,8 +557,8 @@ with the same filename but different name    <texture name="TabTop_Right_Selected" file_name="containers/TabTop_Right_Selected.png" preload="false" />    <texture name="TabTop_Middle_Off" file_name="containers/TabTop_Middle_Off.png" preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" />    <texture name="TabTop_Middle_Selected" file_name="containers/TabTop_Middle_Selected.png" preload="false" scale.left="8" scale.top="8" scale.right="96" scale.bottom="9" /> -  <texture name="TabTop_Left_Off" file_name="containers/TabTop_Left_Off.png"	preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" /> -  <texture name="TabTop_Left_Selected" file_name="containers/TabTop_Left_Selected.png"	preload="false" scale.left="8" scale.top="8" scale.right="96" scale.bottom="9" /> +  <texture name="TabTop_Left_Off" file_name="containers/TabTop_Left_Off.png" preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" /> +  <texture name="TabTop_Left_Selected" file_name="containers/TabTop_Left_Selected.png" preload="false" scale.left="8" scale.top="8" scale.right="96" scale.bottom="9" />    <texture name="TaskPanel_Tab_Off" file_name="taskpanel/TaskPanel_Tab_Off.png" preload="false" scale.left="4" scale.top="29" scale.right="36" scale.bottom="4" />    <texture name="TaskPanel_Tab_Selected" file_name="taskpanel/TaskPanel_Tab_Selected.png" preload="false" scale.left="5" scale.top="30" scale.right="36" scale.bottom="5" /> @@ -641,28 +645,12 @@ with the same filename but different name    <texture name="PowerOff_Over" file_name="icons/PowerOff_Over.png" preload="false" />    <texture name="PowerOff_Press" file_name="icons/PowerOff_Press.png" preload="false" /> -  <!--WARNING OLD ART *do not use*--> - -  <texture name="btn_chatbar.tga" scale.left="20" scale.top="24" scale.right="44" scale.bottom="0" /> -  <texture name="btn_chatbar_selected.tga" scale.left="20" scale.top="24" scale.right="44" scale.bottom="0" /> - -  <texture name="cam_rotate_out.tga" preload="false" /> -  <texture name="cam_rotate_in.tga" preload="false" /> -  <texture name="cam_zoom_out.tga" preload="false" /> -  <texture name="cam_zoom_plus_in.tga" preload="false" /> -  <texture name="cam_zoom_minus_in.tga" preload="false" /> - +  <!--WARNING OLD ART BELOW *do not use*-->    <texture name="icn_chatbar.tga" /> -  <texture name="icn_media-pause.tga" /> -  <texture name="icn_media-play.tga" /> -  <texture name="icn_music-play.tga" /> -  <texture name="icn_music-pause.tga" />    <texture name="icn_media_web.tga" preload="true" />    <texture name="icn_media_movie.tga" preload="true" /> -    <texture name="icn_speaker-muted_dark.tga" />    <texture name="icn_speaker_dark.tga" /> -    <texture name="icn_voice-localchat.tga" />    <texture name="icn_voice-groupfocus.tga" />    <texture name="icn_voice-pvtfocus.tga" /> @@ -672,67 +660,30 @@ with the same filename but different name    <texture name="jump_right_out.tga" />    <texture name="jump_right_in.tga" /> -  <texture name="move_forward_out.tga" preload="false" /> -  <texture name="move_forward_in.tga" preload="false" /> -  <texture name="move_left_out.tga" preload="false" /> -  <texture name="move_left_in.tga" preload="false" /> -  <texture name="move_turn_left_out.tga" preload="false" /> -  <texture name="move_turn_left_in.tga" preload="false" /> -  <texture name="move_turn_right_out.tga" preload="false" /> -  <texture name="move_turn_right_in.tga" preload="false" /> -  <texture name="move_right_out.tga" preload="false" /> -  <texture name="move_right_in.tga" preload="false" /> -  <texture name="move_up_in.tga" preload="false" /> -  <texture name="move_up_out.tga" preload="false" /> -  <texture name="move_down_in.tga" preload="false" /> -  <texture name="move_down_out.tga" preload="false" /> -    <texture name="up_arrow.tga" file_name="up_arrow.png" />    <texture name="down_arrow.tga" file_name="down_arrow.png" /> +  <texture name="arrow_down.tga" />    <texture name="tearoffbox.tga" />    <texture name="tearoff_pressed.tga" />    <texture name="icn_label_music.tga" />    <texture name="icn_label_media.tga" /> -  <texture name="arrow_down.tga" /> -  <texture name="cloud-particle.j2c" use_mips="true" /> - -  <texture name="skin_thumbnail_default.png" preload="false" /> - -  <texture name="icn_textfield_enabled.tga" scale.left="5" scale.top="5" scale.bottom="5" scale.right="5" />    <texture name="icn_rounded-text-field.tga" scale.left="14" scale.bottom="16" scale.top="16" scale.right="114" /> -  <texture name="toolbar_btn_enabled.tga" scale.left="7" scale.top="32" scale.right="121" scale.bottom="0" /> -  <texture name="toolbar_btn_disabled.tga" scale.left="7" scale.top="32" scale.right="121" scale.bottom="0" /> -  <texture name="toolbar_btn_selected.tga" scale.left="7" scale.top="32" scale.right="121" scale.bottom="0" /> -    <texture name="toggle_button_off" file_name="toggle_button_off.png" preload="true" />    <texture name="toggle_button_selected" file_name="toggle_button_selected.png" preload="true" />    <texture name="sm_rounded_corners_simple.tga" scale.left="4" scale.top="4" scale.bottom="4" scale.right="4" /> -    <texture name="rounded_square.tga"	file_name="rounded_square.j2c" preload="true" scale.left="16" scale.top="16" scale.right="112" scale.bottom="16" /> - -  <texture name="rounded_square_soft.tga"	file_name="rounded_square_soft.j2c" preload="true" scale.left="16" scale.top="16" scale.right="112" scale.bottom="16" /> - -  <texture name="toolbar_tab.tga"	preload="true" scale.left="6" scale.top="42" scale.right="104" scale.bottom="8" /> -  <texture name="toolbar_bg.tga"	preload="true" scale.left="6" scale.top="42" scale.right="96" scale.bottom="16" /> - -  <texture name="tab_top_blue.tga"	preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" /> -  <texture name="tab_top_selected_blue.tga" preload="false" scale.left="8" scale.top="8" scale.right="96" scale.bottom="9" /> -    <texture name="color_swatch_alpha.tga" preload="true" />    <texture name="button_anim_pause.tga" />    <texture name="button_anim_pause_selected.tga" />    <texture name="button_anim_play.tga" />    <texture name="button_anim_play_selected.tga" /> -  <texture name="button_anim_stop.tga" /> -  <texture name="button_anim_stop_selected.tga" />    <texture name="crosshairs.tga" />    <texture name="direction_arrow.tga" /> -  <texture name="foot_shadow.j2c" use_mips="true" />    <texture name="icon_auction.tga" />    <texture name="icon_avatar_offline.tga" /> @@ -742,10 +693,6 @@ with the same filename but different name    <texture name="icon_event.tga" />    <texture name="icon_event_mature.tga" />    <texture name="icon_for_sale.tga" /> -  <texture name="icon_group.tga" /> -  <texture name="icon_groupnotice.tga" /> -  <texture name="icon_groupnoticeinventory.tga" /> -  <texture name="icon_place.tga" />    <texture name="icon_place_for_sale.tga" />    <texture name="icon_popular.tga" />    <texture name="icon_top_pick.tga" /> @@ -768,8 +715,6 @@ with the same filename but different name    <texture name="media_icon.tga" file_name="icn_label_media.tga" />    <texture name="music_icon.tga" file_name="icn_label_music.tga" /> -  <texture name="NoEntryLines" file_name="world/NoEntryLines.png" use_mips="true" preload="false" /> -  <texture name="NoEntryPassLines" file_name="world/NoEntryPassLines.png" use_mips="true" preload="false" />    <texture name="notify_tip_icon.tga" />    <texture name="notify_caution_icon.tga" /> @@ -779,13 +724,11 @@ with the same filename but different name    <texture name="pixiesmall.j2c" use_mips="true" />    <texture name="script_error.j2c" use_mips="true" />    <texture name="silhouette.j2c" use_mips="true" /> +  <texture name="foot_shadow.j2c" use_mips="true" /> +  <texture name="cloud-particle.j2c" use_mips="true" />    <texture name="status_no_build.tga" />    <texture name="status_voice.tga" /> -  <texture name="status_buy_currency.tga" /> -  <texture name="status_buy_currency_pressed.tga" /> -  <texture name="status_buy_land.tga" /> -  <texture name="status_buy_land_pressed.tga" />    <texture name="status_no_fly.tga" />    <texture name="status_health.tga" />    <texture name="status_no_push.tga" /> @@ -812,23 +755,5 @@ with the same filename but different name    <texture name="default_profile_picture.j2c" />    <texture name="locked_image.j2c" /> -  <texture name="media_btn_back.png" /> -  <texture name="media_btn_done.png" /> -  <texture name="media_btn_forward.png" /> -  <texture name="media_btn_home.png" /> -  <texture name="media_btn_newwindow.png" /> -  <texture name="media_btn_optimalzoom.png" /> -  <texture name="media_btn_reload.png" /> -  <texture name="media_btn_scrolldown.png" /> -  <texture name="media_btn_scrollleft.png" /> -  <texture name="media_btn_scrollright.png" /> -  <texture name="media_btn_scrollup.png" /> -  <texture name="media_btn_stoploading.png" /> -  <texture name="media_panel_divider.png" /> -    <texture name="media_floater_border_16.png" scale_top="12" scale_left="4" scale_bottom="4" scale_right="12" /> - -  <texture name="media_panel_bg.png" preload="true" scale_left="9" scale_top="9" scale_right="9" scale_bottom="9" /> -  <texture name="media_panel_hoverrectangle.png" preload="true" scale_left="9" scale_top="9" scale_right="9" scale_bottom="9" /> -  </textures> diff --git a/indra/newview/skins/default/xui/en/favorites_bar_button.xml b/indra/newview/skins/default/xui/en/favorites_bar_button.xml index dcf9847adb..90105f92fd 100644 --- a/indra/newview/skins/default/xui/en/favorites_bar_button.xml +++ b/indra/newview/skins/default/xui/en/favorites_bar_button.xml @@ -23,6 +23,8 @@   pad_left="11"   pad_right="7"   tab_stop="false" + pad_right="10" + pad_left="10"    top="0"   use_ellipses="true"   width="140" /> diff --git a/indra/newview/skins/default/xui/en/floater_preview_texture.xml b/indra/newview/skins/default/xui/en/floater_preview_texture.xml index 552902d1d9..0d155fb01e 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_texture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_texture.xml @@ -64,7 +64,7 @@       height="16"       layout="topleft"       left_delta="-110" -     name="dimensions" +     name="aspect_ratio"       top_pad="5"       width="200">          Preview aspect ratio @@ -112,7 +112,7 @@       label="OK"       layout="topleft"       left="6" -     name="keep" +     name="Keep"       top_pad="5"       width="100" />      <button @@ -121,7 +121,7 @@       label="Cancel"       layout="topleft"       left_pad="5" -     name="discard" +     name="Discard"       top_delta="0"       width="100" />      <button diff --git a/indra/newview/skins/default/xui/en/floater_window_size.xml b/indra/newview/skins/default/xui/en/floater_window_size.xml new file mode 100644 index 0000000000..355d257785 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_window_size.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater +  can_minimize="false"  +  can_resize="false" +  height="105" +  layout="topleft" +  name="window_size" +  title="WINDOW SIZE" +  width="205"> +  <string name="resolution_format">[RES_X] x [RES_Y]</string> +    <text +     follows="top|left" +     font="SansSerif" +     height="16" +     left="15" +     top="10"  +     name="windowsize_text" +     width="280"> +     Set window size: +    </text> +    <combo_box +     allow_text_entry="true" +     height="23" +     follows="left|top" +     left_delta="0" +     max_chars="20" +     name="window_size_combo" +     tool_tip="width x height" +     top_pad="5" +     width="179"> +        <combo_box.item +         label="1000 x 700 (default)" +         name="item0" +         value="1000 x 700" /> +        <combo_box.item +         label="1024 x 768" +         name="item1" +         value="1024 x 768" /> +        <combo_box.item +         label="1280 x 720 (720p)" +         name="item2" +         value="1280 x 720" /> +        <combo_box.item +         label="1920 x 1080 (1080p)" +         name="item3" +         value="1920 x 1080" /> +    </combo_box> +    <button +     follows="right|bottom" +     height="23" +     label="Set" +     left_delta="0" +     name="set_btn" +     top_pad="10" +     width="85" /> +    <button +     follows="right|bottom" +     height="23" +     label="Cancel" +     left_pad="5" +     name="cancel_btn" +     top_delta="0" +     width="85" /> +</floater> diff --git a/indra/newview/skins/default/xui/en/inspect_avatar.xml b/indra/newview/skins/default/xui/en/inspect_avatar.xml index 996d0f1b72..2f2964c42b 100644 --- a/indra/newview/skins/default/xui/en/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/en/inspect_avatar.xml @@ -54,7 +54,7 @@       width="175"       use_ellipses="true" />       <text -     follows="all" +     follows="left|top|right"       height="35"       left="8"       name="user_details" diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 7a0b11872a..690167bc33 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -233,6 +233,13 @@                 parameter="RegInClient" />        </menu_item_check>        <menu_item_separator /> +      <menu_item_call +       label="Set Window Size..." +       name="Set Window Size..."> +        <menu_item_call.on_click +         function="Floater.Show" +         parameter="window_size" /> +      </menu_item_call>          <menu_item_call           label="Show TOS"           name="TOS"> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 0640ae21de..4e495bab3f 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1119,6 +1119,13 @@            <menu_item_call.on_click               function="View.DefaultUISize" />          </menu_item_call> +        <menu_item_call +         label="Set Window Size..." +         name="Set Window Size..."> +          <menu_item_call.on_click +           function="Floater.Show" +           parameter="window_size" /> +        </menu_item_call>          <menu_item_separator/>          <menu_item_check           label="Limit Select Distance" diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml index f88f8264b5..b92aa10ffc 100644 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml @@ -341,7 +341,7 @@ as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly.               top="4"               width="35">               <!-- -Emulate 4 states of button by background images, see detains in EXT-3147. The same should be for notification_well button +Emulate 4 states of button by background images, see details in EXT-3147. The same should be for notification_well button  xml attribute           Description  image_unselected        "Unlit" - there are no new messages  image_selected          "Unlit" + "Selected" - there are no new messages and the Well is open @@ -364,6 +364,7 @@ image_pressed_selected  "Lit" + "Selected" - there are new messages and the Well                   name="Unread IM messages"                   pad_left="0"                   pad_right="0" +                 tool_tip="Conversations"                   width="35" >                      <button.init_callback                       function="Button.SetDockableFloaterToggle" @@ -409,6 +410,7 @@ image_pressed_selected  "Lit" + "Selected" - there are new messages and the Well                 image_overlay="Notices_Unread"                 image_overlay_alignment="center"                 pad_right="5" +               tool_tip="Notifications"                 width="35" >                    <button.init_callback                     function="Button.SetDockableFloaterToggle" 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 744ee43f57..67a4edbf32 100644 --- a/indra/newview/skins/default/xui/en/panel_landmark_info.xml +++ b/indra/newview/skins/default/xui/en/panel_landmark_info.xml @@ -239,7 +239,6 @@                   use_ellipses="true"                   width="290" />                   <line_editor -                 background_image_disabled="task_panel_background.png"                   follows="left|top|right"                   height="22"                   layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 005d7953fe..0f9b095d8c 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -149,7 +149,7 @@      <favorites_bar       follows="left|right|top" -     font="SansSerif" +     font="SansSerifSmall"       height="15"       layout="topleft"       left="0" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml index 426a2b1f9e..17651b8caa 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml @@ -10,10 +10,6 @@   name="advanced"   top="1"   width="517"> -    <panel.string -     name="resolution_format"> -        [RES_X] x [RES_Y] -    </panel.string>  	<panel.string       name="aspect_ratio_text">          [NUM]:[DEN] diff --git a/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml index 97790535d0..677d0de243 100644 --- a/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml +++ b/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml @@ -29,12 +29,14 @@  	  height="75"  	  layout="topleft"  	  left="0" +	  mouse_opaque="false"  	  orientation="horizontal"  	  top="100">  	<!-- outer layout_panels center the inner one -->  	<layout_panel  		name="left_bookend"  		width="0" +	  mouse_opaque="false"  		layout="topleft"  		user_resize="false" />  	<layout_panel @@ -42,6 +44,7 @@  		auto_resize="false"  		user_resize="false"  		layout="topleft" +	  mouse_opaque="false"  		min_width="22"  		width="22"  		top="4"> diff --git a/indra/newview/skins/default/xui/en/sidepanel_item_info.xml b/indra/newview/skins/default/xui/en/sidepanel_item_info.xml index 790f8afd3a..4a992dadd9 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_item_info.xml @@ -149,7 +149,7 @@       width="20" />  	    <text  		     type="string" -     follows="left|right" +     follows="left|right|top"       font="SansSerifSmall"       height="15"       layout="topleft" @@ -191,7 +191,7 @@  			   width="20" />  	     <text  			 type="string" -			   follows="left|right" +			   follows="left|right|top"  			   font="SansSerifSmall"  			   height="15"  			   layout="topleft" 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 7ac44b412d..1368c6826d 100644 --- a/indra/newview/skins/default/xui/en/widgets/location_input.xml +++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml @@ -95,12 +95,11 @@      follows="right|top"      image_name="Parcel_ScriptsNo_Light"      /> -  <!-- NOTE: Placeholder icon, there is no dark grayscale version -->    <damage_icon      name="damage_icon" -    width="22" -    height="18" -    top="21" +    width="20" +    height="16" +    top="20"      follows="right|top"      image_name="Parcel_Damage_Light"      /> | 
