diff options
| author | Igor Borovkov <iborovkov@productengine.com> | 2010-01-04 13:49:31 +0200 | 
|---|---|---|
| committer | Igor Borovkov <iborovkov@productengine.com> | 2010-01-04 13:49:31 +0200 | 
| commit | 516e2674f54d400c30bf548ea1e9b0a268bd929f (patch) | |
| tree | e84abb6ea06cde6db9e878fc8d78a6e0b54eed1e | |
| parent | ed1eb29c7e329fa4de31fdad4272348059462d73 (diff) | |
| parent | 32657e37ab14e3ea4b5ff719e147fd720e895d77 (diff) | |
merge
--HG--
branch : product-engine
44 files changed, 573 insertions, 318 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 648e582e94..8918fc3018 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -157,7 +157,6 @@ set(viewer_SOURCE_FILES      llfloaterbuycontents.cpp      llfloaterbuycurrency.cpp      llfloaterbuyland.cpp -    llfloatercall.cpp      llfloatercamera.cpp      llfloaterchat.cpp      llfloaterchatterbox.cpp @@ -219,6 +218,7 @@ set(viewer_SOURCE_FILES      llfloaterwater.cpp      llfloaterwhitelistentry.cpp      llfloaterwindlight.cpp +    llfloaterwindowsize.cpp      llfloaterworldmap.cpp      llfolderview.cpp      llfolderviewitem.cpp @@ -302,7 +302,6 @@ set(viewer_SOURCE_FILES      lloutputmonitorctrl.cpp      lloverlaybar.cpp      llpanelavatar.cpp -    llpanelavatarrow.cpp      llpanelavatartag.cpp      llpanelblockedlist.cpp      llpanelclassified.cpp @@ -516,7 +515,6 @@ set(viewer_SOURCE_FILES      llvoground.cpp      llvoicechannel.cpp      llvoiceclient.cpp -    llvoicecontrolpanel.cpp      llvoiceremotectrl.cpp      llvoicevisualizer.cpp      llvoinventorylistener.cpp @@ -668,7 +666,6 @@ set(viewer_HEADER_FILES      llfloaterbuycontents.h      llfloaterbuycurrency.h      llfloaterbuyland.h -    llfloatercall.h      llfloatercamera.h      llfloaterchat.h      llfloaterchatterbox.h @@ -729,6 +726,7 @@ set(viewer_HEADER_FILES      llfloaterwater.h      llfloaterwhitelistentry.h      llfloaterwindlight.h +    llfloaterwindowsize.h      llfloaterworldmap.h      llfolderview.h      llfoldervieweventlistener.h @@ -807,7 +805,6 @@ set(viewer_HEADER_FILES      lloutputmonitorctrl.h      lloverlaybar.h      llpanelavatar.h -    llpanelavatarrow.h      llpanelavatartag.h      llpanelblockedlist.h      llpanelclassified.h @@ -1022,7 +1019,6 @@ set(viewer_HEADER_FILES      llvoground.h      llvoicechannel.h      llvoiceclient.h -    llvoicecontrolpanel.h      llvoiceremotectrl.h      llvoicevisualizer.h      llvoinventorylistener.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/llchiclet.cpp b/indra/newview/llchiclet.cpp index c01202bb82..dc2e22f899 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -49,7 +49,6 @@  #include "llscriptfloater.h"  #include "lltextbox.h"  #include "llvoiceclient.h" -#include "llvoicecontrolpanel.h"  #include "llgroupmgr.h"  #include "llnotificationmanager.h"  #include "lltransientfloatermgr.h" @@ -225,6 +224,10 @@ void LLSysWellChiclet::setNewMessagesState(bool new_messages)  	mIsNewMessagesState = new_messages;  } +void LLSysWellChiclet::updateWidget(bool is_window_empty) +{ +	mButton->setEnabled(!is_window_empty); +}  // virtual  BOOL LLSysWellChiclet::handleRightMouseDown(S32 x, S32 y, MASK mask)  { @@ -374,6 +377,13 @@ void LLNotificationChiclet::createMenu()  		 LLViewerMenuHolderGL::child_registry_t::instance());  } +/*virtual*/ +void LLNotificationChiclet::setCounter(S32 counter) +{ +	LLSysWellChiclet::setCounter(counter); +	updateWidget(getCounter() == 0); +	 +}  //////////////////////////////////////////////////////////////////////////  //////////////////////////////////////////////////////////////////////////  ////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llchiclet.h b/indra/newview/llchiclet.h index ee9db10525..3665e4d093 100644 --- a/indra/newview/llchiclet.h +++ b/indra/newview/llchiclet.h @@ -41,7 +41,6 @@  #include "llgroupmgr.h"  #include "llimview.h" -class LLVoiceControlPanel;  class LLMenuGL;  class LLIMFloater; @@ -825,6 +824,8 @@ public:  	void setToggleState(BOOL toggled);  	void setNewMessagesState(bool new_messages); +	//this method should change a widget according to state of the SysWellWindow  +	virtual void updateWidget(bool is_window_empty);  protected: @@ -930,7 +931,7 @@ protected:  	// methods for updating a number of unread System notifications  	void incUreadSystemNotifications() { setCounter(++mUreadSystemNotifications); }  	void decUreadSystemNotifications() { setCounter(--mUreadSystemNotifications); } - +	/*virtual*/ void setCounter(S32 counter);  	S32 mUreadSystemNotifications;  }; 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/llimpanel.cpp b/indra/newview/llimpanel.cpp index 4b45a9aba9..029ddbaf2c 100644 --- a/indra/newview/llimpanel.cpp +++ b/indra/newview/llimpanel.cpp @@ -55,7 +55,6 @@  #include "llgroupactions.h"  #include "llfloater.h"  #include "llfloateractivespeakers.h" -#include "llfloatercall.h"  #include "llavataractions.h"  #include "llinventory.h"  #include "llinventorymodel.h" diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 77c2fb7c8c..245f694ac6 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -452,6 +452,7 @@ BOOL LLTeleportHistoryPanel::postBuild()  	registrar.add("TeleportHistory.ExpandAllFolders",  boost::bind(&LLTeleportHistoryPanel::onExpandAllFolders,  this));  	registrar.add("TeleportHistory.CollapseAllFolders",  boost::bind(&LLTeleportHistoryPanel::onCollapseAllFolders,  this));  	registrar.add("TeleportHistory.ClearTeleportHistory",  boost::bind(&LLTeleportHistoryPanel::onClearTeleportHistory,  this)); +	mEnableCallbackRegistrar.add("TeleportHistory.GearMenu.Enable", boost::bind(&LLTeleportHistoryPanel::isActionEnabled, this, _2));  	LLMenuGL* gear_menu  = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_teleport_history_gear.xml",  gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());  	if(gear_menu) @@ -979,6 +980,49 @@ void LLTeleportHistoryPanel::onGearButtonClicked()  	LLMenuGL::showPopup(this, menu, menu_x, menu_y);  } +bool LLTeleportHistoryPanel::isActionEnabled(const LLSD& userdata) const +{ +	S32 tabs_cnt = mItemContainers.size(); + +	bool has_expanded_tabs = false; +	bool has_collapsed_tabs = false; + +	for (S32 n = 0; n < tabs_cnt; n++) +	{ +		LLAccordionCtrlTab* tab = mItemContainers.get(n); +		if (!tab->getVisible()) +			continue; + +		if (tab->getDisplayChildren()) +		{ +			has_expanded_tabs = true; +		} +		else +		{ +			has_collapsed_tabs = true; +		} + +		if (has_expanded_tabs && has_collapsed_tabs) +		{ +			break; +		} +	} + +	std::string command_name = userdata.asString(); + +	if (has_expanded_tabs && command_name == "collapse_all") +	{ +		return true; +	} + +	if (has_collapsed_tabs && command_name ==  "expand_all") +	{ +		return true; +	} + +	return false; +} +  void LLTeleportHistoryPanel::setAccordionCollapsedByUser(LLUICtrl* acc_tab, bool collapsed)  {  	LLSD param = acc_tab->getValue(); diff --git a/indra/newview/llpanelteleporthistory.h b/indra/newview/llpanelteleporthistory.h index 0c0f891f32..4eeaec7705 100644 --- a/indra/newview/llpanelteleporthistory.h +++ b/indra/newview/llpanelteleporthistory.h @@ -97,6 +97,7 @@ private:  	void handleItemSelect(LLFlatListView* );  	LLFlatListView* getFlatListViewFromTab(LLAccordionCtrlTab *);  	void onGearButtonClicked(); +	bool isActionEnabled(const LLSD& userdata) const;  	void setAccordionCollapsedByUser(LLUICtrl* acc_tab, bool collapsed);  	bool isAccordionCollapsedByUser(LLUICtrl* acc_tab); diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp index db4f9a2d95..e2da4c4475 100644 --- a/indra/newview/llparticipantlist.cpp +++ b/indra/newview/llparticipantlist.cpp @@ -229,7 +229,7 @@ bool LLParticipantList::onAddItemEvent(LLPointer<LLOldEvents::LLEvent> event, co  {  	LLUUID uu_id = event->getValue().asUUID(); -	if (mValidateSpeakerCallback && mValidateSpeakerCallback(uu_id)) +	if (mValidateSpeakerCallback && !mValidateSpeakerCallback(uu_id))  	{  		return true;  	} 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/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index 26d8338b24..a46ca1f8ac 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -106,15 +106,15 @@ void LLSysWellWindow::onStartUpToastClick(S32 x, S32 y, MASK mask)  	setVisible(TRUE);  } -//--------------------------------------------------------------------------------- -LLSysWellWindow::~LLSysWellWindow() -{ +void LLSysWellWindow::setSysWellChiclet(LLSysWellChiclet* chiclet)  +{  +	mSysWellChiclet = chiclet; +	if(mSysWellChiclet) +		mSysWellChiclet->updateWidget(isWindowEmpty());   } -  //--------------------------------------------------------------------------------- -void LLSysWellWindow::clear() +LLSysWellWindow::~LLSysWellWindow()  { -	mMessageList->clear();  }  //--------------------------------------------------------------------------------- @@ -281,6 +281,7 @@ void LLSysWellWindow::handleItemAdded(EItemType added_item_type)  		setResizeLimits(min_width,min_height);  	} +	mSysWellChiclet->updateWidget(isWindowEmpty());  }  void LLSysWellWindow::handleItemRemoved(EItemType removed_item_type) @@ -294,6 +295,7 @@ void LLSysWellWindow::handleItemRemoved(EItemType removed_item_type)  		// refresh list to recalculate mSeparator position  		mMessageList->reshape(mMessageList->getRect().getWidth(), mMessageList->getRect().getHeight());  	} +	mSysWellChiclet->updateWidget(isWindowEmpty());  }  bool LLSysWellWindow::anotherTypeExists(EItemType item_type) diff --git a/indra/newview/llsyswellwindow.h b/indra/newview/llsyswellwindow.h index d21d095d1a..833e4dd504 100644 --- a/indra/newview/llsyswellwindow.h +++ b/indra/newview/llsyswellwindow.h @@ -62,7 +62,6 @@ public:  	bool isWindowEmpty();  	// Operating with items -    void clear( void );  	void removeItemByID(const LLUUID& id);  	// Operating with outfit @@ -74,7 +73,7 @@ public:  	void onStartUpToastClick(S32 x, S32 y, MASK mask); -	void setSysWellChiclet(LLSysWellChiclet* chiclet) { mSysWellChiclet = chiclet; } +	void setSysWellChiclet(LLSysWellChiclet* chiclet);  	// size constants for the window and for its elements  	static const S32 MAX_WINDOW_HEIGHT		= 200; 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 00db11a767..23bdbc7381 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -53,7 +53,6 @@  #include "llfloaterbuyland.h"  #include "llfloaterbulkpermission.h"  #include "llfloaterbump.h" -#include "llfloatercall.h"  #include "llfloatercamera.h"  #include "llfloaterchat.h"  #include "llfloaterchatterbox.h" @@ -111,6 +110,7 @@  #include "llfloaterwater.h"  #include "llfloaterwhitelistentry.h"  #include "llfloaterwindlight.h" +#include "llfloaterwindowsize.h"  #include "llfloaterworldmap.h"  #include "llimfloatercontainer.h"  #include "llinspectavatar.h" @@ -260,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 8eafb98f4e..917d69fe16 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -33,7 +33,6 @@  #include "llviewerprecompiledheaders.h"  #include "llagent.h" -#include "llfloatercall.h"  #include "llfloaterreg.h"  #include "llimview.h"  #include "llnotifications.h" 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_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml index 47fd03b8f6..1fa613468f 100644 --- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml +++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml @@ -87,14 +87,58 @@               visible="true"               width="20" />          </panel> -        <button -         follows="left|right|top" -         height="24" -         label="Leave Call" -         left="91"  -         name="leave_call_btn" -         top_pad="6"  -         width="100" /> +        <layout_stack +         border_size="0" +         clip="false" +         follows="all" +         height="28" +         layout="topleft" +         left="10" +         mouse_opaque="false" +         name="leave_call_stack" +         orientation="horizontal" +         top_pad="5" +         width="263"> +         <layout_panel +          auto_resize="true" +          follows="left|right" +          height="26" +          layout="topleft" +          min_height="23" +          min_width="5" +          mouse_opaque="false" +          name="left_anchor" +          width="80"/> +         <layout_panel +          auto_resize="false" +          follows="left|right" +          height="26" +          layout="topleft" +          mouse_opaque="false" +          min_height="24" +          min_width="100" +          name="leave_call_btn_panel" +          width="100"> +           <button +            follows="left|right" +            height="24" +            label="Leave Call" +            left="0" +            name="leave_call_btn" +            top="0" +            width="100" /> +         </layout_panel> +         <layout_panel +         auto_resize="true" +         follows="left|right" +         height="26" +         layout="topleft" +         mouse_opaque="false" +         min_height="24" +         min_width="5" +         name="right_anchor" +         width="80"/> +        </layout_stack>      </panel>      <avatar_list       follows="all" 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/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 65a545d2ed..861eb9009a 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -15,7 +15,7 @@                  orientation="vertical"                  top="19">      <layout_panel auto_resize="false" -                  height="65" +                  height="60"                    mouse_opaque="false"                    name="nav_bar_container"                    width="1024" 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_teleport_history_gear.xml b/indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml index 6768d7fccb..134b331514 100644 --- a/indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml @@ -13,12 +13,18 @@       name="Expand all folders">          <menu_item_call.on_click           function="TeleportHistory.ExpandAllFolders" /> +        <on_enable +         function="TeleportHistory.GearMenu.Enable" +         parameter="expand_all" />      </menu_item_call>      <menu_item_call       label="Collapse all folders"       name="Collapse all folders">          <menu_item_call.on_click           function="TeleportHistory.CollapseAllFolders" /> +        <on_enable +         function="TeleportHistory.GearMenu.Enable" +         parameter="collapse_all" />      </menu_item_call>      <menu_item_separator layout="topleft" />      <menu_item_call 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_bars.xml b/indra/newview/skins/default/xui/en/panel_bars.xml index 527ec4e007..96722ce278 100644 --- a/indra/newview/skins/default/xui/en/panel_bars.xml +++ b/indra/newview/skins/default/xui/en/panel_bars.xml @@ -9,7 +9,7 @@   width="1024">    <layout_stack name="menu_stack" orientation="vertical" height="768" border_size="0">      <panel auto_resize="false" width="1024" name="status_bar" filename="panel_status_bar.xml"/> -    <panel auto_resize="false" width="1024" height="65" name="navigation bar" filename="panel_navigation_bar.xml"/> +    <panel auto_resize="false" width="1024" height="60" name="navigation bar" filename="panel_navigation_bar.xml"/>      <layout_stack name="hud_stack" orientation="horizontal" auto_resize="true" width="1024" height="500" follows="all">        <panel auto_resize="true" name="floater_view" height="500"/>        <panel auto_resize="false" filename="panel_side_tray.xml" height="500" width="333"/> 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 74265a51ca..0f9b095d8c 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -4,7 +4,7 @@   background_visible="true"   bg_opaque_color="MouseGray"   follows="left|top|right" - height="65" + height="60"   layout="topleft"   name="navigation_bar"   chrome="true" @@ -18,7 +18,7 @@  	 visible="true"  	 left="0"  	 top="0" -	 height="65" +	 height="60"  	 width="600"/>  	<icon  	 follows="all" @@ -29,7 +29,7 @@  	 visible="false"  	 left="0"  	 top="0" -	 height="65" +	 height="60"  	 width="600"/>  	<panel  	 background_visible="false" @@ -149,13 +149,13 @@      <favorites_bar       follows="left|right|top" -     font="SansSerif" +     font="SansSerifSmall"       height="15"       layout="topleft"       left="0"       name="favorite"       image_drag_indication="arrow_down.tga" -   bottom="62" +   bottom="57"     width="590">      <chevron_button name=">>"                       image_unselected="TabIcon_Close_Off" 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/panel_side_tray.xml b/indra/newview/skins/default/xui/en/panel_side_tray.xml index 4565663bba..61f0fa3099 100644 --- a/indra/newview/skins/default/xui/en/panel_side_tray.xml +++ b/indra/newview/skins/default/xui/en/panel_side_tray.xml @@ -31,6 +31,24 @@    </sidetray_tab>    <sidetray_tab +    name="sidebar_me" +    help_topic="sidebar_me" +    tab_title="My Profile" +    description="Edit your public profile and Picks." +    image="TabIcon_Me_Off" +    image_selected="TabIcon_Me_Selected" +    mouse_opaque="false" +    background_visible="true" +  > +      <panel +        class="panel_me" +        name="panel_me" +        filename="panel_me.xml" +        label="Me" +      /> +  </sidetray_tab> + +  <sidetray_tab      name="sidebar_people"      help_topic="sidebar_people"      tab_title="People" @@ -94,20 +112,21 @@    </sidetray_tab>    <sidetray_tab -    name="sidebar_me" -    help_topic="sidebar_me" -    tab_title="My Profile" -    description="Edit your public profile and Picks." -    image="TabIcon_Me_Off" -    image_selected="TabIcon_Me_Selected" +    name="sidebar_inventory" +    help_topic="sidebar_inventory" +    tab_title="My Inventory" +    description="Browse your inventory." +    image="TabIcon_Things_Off" +    image_selected="TabIcon_Things_Selected"      mouse_opaque="false"      background_visible="true"    >        <panel -        class="panel_me" -        name="panel_me" -        filename="panel_me.xml" -        label="Me" +        class="sidepanel_inventory" +        name="sidepanel_inventory" +        filename="sidepanel_inventory.xml" +        label="Edit Inventory" +        font="SansSerifBold"        />    </sidetray_tab> @@ -130,23 +149,4 @@        />    </sidetray_tab> -  <sidetray_tab -    name="sidebar_inventory" -    help_topic="sidebar_inventory" -    tab_title="My Inventory" -    description="Browse your inventory." -    image="TabIcon_Things_Off" -    image_selected="TabIcon_Things_Selected" -    mouse_opaque="false" -    background_visible="true" -  > -      <panel -        class="sidepanel_inventory" -        name="sidepanel_inventory" -        filename="sidepanel_inventory.xml" -        label="Edit Inventory" -        font="SansSerifBold" -      /> -  </sidetray_tab> -  </side_tray> 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"      /> | 
