diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llinventorybridge.cpp | 264 | ||||
| -rw-r--r-- | indra/newview/skins/default/textures/textures.xml | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_preferences_advanced.xml | 105 | 
3 files changed, 203 insertions, 168 deletions
| diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 3aa35d98f8..59f70ea1bd 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -1,11 +1,11 @@ -/**  +/**   * @file llinventorybridge.cpp   * @brief Implementation of the Inventory-Folder-View-Bridge classes.   *   * $LicenseInfo:firstyear=2001&license=viewergpl$ - *  + *   * Copyright (c) 2001-2009, Linden Research, Inc. - *  + *   * Second Life Viewer Source Code   * The source code in this file ("Source Code") is provided by Linden Lab   * to you under the terms of the GNU General Public License, version 2.0 @@ -13,17 +13,17 @@   * ("Other License"), formally executed by you and Linden Lab.  Terms of   * the GPL can be found in doc/GPL-license.txt in this distribution, or   * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - *  + *   * There are special exceptions to the terms and conditions of the GPL as   * it is applied to this Source Code. View the full text of the exception   * in the file doc/FLOSS-exception.txt in this software distribution, or   * online at   * http://secondlifegrid.net/programs/open_source/licensing/flossexception - *  + *   * By copying, modifying or distributing this software, you acknowledge   * that you have read and understood your obligations described above,   * and agree to abide by those obligations. - *  + *   * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO   * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,   * COMPLETENESS OR PERFORMANCE. @@ -83,7 +83,7 @@  #include "llvoavatar.h"  #include "llwearable.h"  #include "llwearablelist.h" -#include "llviewermessage.h"  +#include "llviewermessage.h"  #include "llviewerregion.h"  #include "llvoavatarself.h"  #include "lltabcontainer.h" @@ -147,8 +147,8 @@ std::string ICON_NAME[ICON_NAME_COUNT] =  	"Inv_Undershirt",  	"Inv_Underpants",  	"Inv_Skirt", -	"inv_item_alpha.tga", -	"inv_item_tattoo.tga", +	"Inv_Alpha", +	"Inv_Tattoo",  	"Inv_Animation",  	"Inv_Gesture", @@ -237,7 +237,7 @@ void LLInvFVBridge::renameLinkedItems(const LLUUID &item_id, const std::string&  	{  		return;  	} -	 +  	LLInventoryModel::item_array_t item_array = model->collectLinkedItems(item_id);  	for (LLInventoryModel::item_array_t::iterator iter = item_array.begin();  		 iter != item_array.end(); @@ -245,7 +245,7 @@ void LLInvFVBridge::renameLinkedItems(const LLUUID &item_id, const std::string&  	{  		LLViewerInventoryItem *linked_item = (*iter);  		if (linked_item->getUUID() == item_id) continue; -		 +  		LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(linked_item);  		new_item->rename(new_name);  		new_item->updateServer(FALSE); @@ -290,7 +290,7 @@ void LLInvFVBridge::removeBatch(LLDynamicArray<LLFolderViewEventListener*>& batc  	S32 count = batch.count();  	S32 i,j;  	for(i = 0; i < count; ++i) -	{	 +	{  		bridge = (LLInvFVBridge*)(batch.get(i));  		if(!bridge || !bridge->isItemRemovable()) continue;  		item = (LLViewerInventoryItem*)model->getItem(bridge->getUUID()); @@ -303,7 +303,7 @@ void LLInvFVBridge::removeBatch(LLDynamicArray<LLFolderViewEventListener*>& batc  		}  	}  	for(i = 0; i < count; ++i) -	{		 +	{  		bridge = (LLInvFVBridge*)(batch.get(i));  		if(!bridge || !bridge->isItemRemovable()) continue;  		cat = (LLViewerInventoryCategory*)model->getCategory(bridge->getUUID()); @@ -506,7 +506,7 @@ BOOL LLInvFVBridge::isClipboardPasteableAsLink() const  	return TRUE;  } -void hideContextEntries(LLMenuGL& menu,  +void hideContextEntries(LLMenuGL& menu,  						const std::vector<std::string> &entries_to_show,  						const std::vector<std::string> &disabled_entries)  { @@ -523,8 +523,8 @@ void hideContextEntries(LLMenuGL& menu,  		{  			hideContextEntries(*branchp->getBranch(), entries_to_show, disabled_entries);  		} -		 -		 + +  		bool found = false;  		std::vector<std::string>::const_iterator itor2;  		for (itor2 = entries_to_show.begin(); itor2 != entries_to_show.end(); ++itor2) @@ -552,8 +552,8 @@ void hideContextEntries(LLMenuGL& menu,  }  // Helper for commonly-used entries -void LLInvFVBridge::getClipboardEntries(bool show_asset_id,  -										std::vector<std::string> &items,  +void LLInvFVBridge::getClipboardEntries(bool show_asset_id, +										std::vector<std::string> &items,  										std::vector<std::string> &disabled_items, U32 flags)  {  	items.push_back(std::string("Rename")); @@ -565,7 +565,7 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id,  	if (show_asset_id)  	{  		items.push_back(std::string("Copy Asset UUID")); -		if ( (! ( isItemPermissive() || gAgent.isGodlike() ) )  +		if ( (! ( isItemPermissive() || gAgent.isGodlike() ) )  			  || (flags & FIRST_SELECTED_ITEM) == 0)  		{  			disabled_items.push_back(std::string("Copy Asset UUID")); @@ -638,7 +638,7 @@ BOOL LLInvFVBridge::startDrag(EDragAndDropType* type, LLUUID* id) const  		{  			return FALSE;  		} -		 +  		*id = obj->getUUID();  		//object_ids.put(obj->getUUID()); @@ -808,7 +808,7 @@ LLInvFVBridge* LLInvFVBridge::createBridge(LLAssetType::EType asset_type,  			}  			new_listener = new LLLandmarkBridge(inventory, uuid, flags);  			break; -		 +  		case LLAssetType::AT_CALLINGCARD:  			if(!(inv_type == LLInventoryType::IT_CALLINGCARD))  			{ @@ -1100,7 +1100,7 @@ PermissionMask LLItemBridge::getPermissionMask() const  {  	LLViewerInventoryItem* item = getItem();  	PermissionMask perm_mask = 0; -	if(item)  +	if(item)  	{  		BOOL copy = item->getPermissions().allowCopyBy(gAgent.getID());  		BOOL mod = item->getPermissions().allowModifyBy(gAgent.getID()); @@ -1126,9 +1126,9 @@ const std::string& LLItemBridge::getDisplayName() const  void LLItemBridge::buildDisplayName(LLInventoryItem* item, std::string& name)  { -	if(item)  +	if(item)  	{ -		name.assign(item->getName());			 +		name.assign(item->getName());  	}  	else  	{ @@ -1137,9 +1137,9 @@ void LLItemBridge::buildDisplayName(LLInventoryItem* item, std::string& name)  }  LLFontGL::StyleFlags LLItemBridge::getLabelStyle() const -{  +{  	U8 font = LLFontGL::NORMAL; -	 +  	if( gAgentWearables.isWearingItem( mUUID ) )  	{  		// llinfos << "BOLD" << llendl; @@ -1165,7 +1165,7 @@ std::string LLItemBridge::getLabelSuffix() const  	static std::string BROKEN_LINK = LLTrans::getString("broken_link");  	std::string suffix;  	LLInventoryItem* item = getItem(); -	if(item)  +	if(item)  	{  		// it's a bit confusing to put nocopy/nomod/etc on calling cards.  		if(LLAssetType::AT_CALLINGCARD != item->getType() @@ -1294,9 +1294,9 @@ BOOL LLItemBridge::isItemCopyable() const  		{  			return FALSE;  		} -		 +  		// All items can be copied, not all can be pasted. -		// The only time an item can't be copied is if it's a link  +		// The only time an item can't be copied is if it's a link  		// return (item->getPermissions().allowCopyBy(gAgent.getID()));  		if (item->getIsLinkType())  		{ @@ -1348,7 +1348,7 @@ BOOL LLItemBridge::isItemPermissive() const  LLFolderBridge* LLFolderBridge::sSelf=NULL;  // Can be moved to another folder -BOOL LLFolderBridge::isItemMovable() const  +BOOL LLFolderBridge::isItemMovable() const  {  	LLInventoryObject* obj = getInventoryObject();  	if(obj) @@ -1367,7 +1367,7 @@ void LLFolderBridge::selectItem()  BOOL LLFolderBridge::isItemRemovable()  {  	LLInventoryModel* model = getInventoryModel(); -	if(!model)  +	if(!model)  	{  		return FALSE;  	} @@ -1478,7 +1478,7 @@ BOOL LLFolderBridge::isClipboardPasteable() const  		LLInventoryClipboard::instance().retrieve(objects);  		const LLViewerInventoryCategory *current_cat = getCategory(); -		// Search for the direct descendent of current Friends subfolder among all pasted items,  +		// Search for the direct descendent of current Friends subfolder among all pasted items,  		// and return false if is found.  		for(S32 i = objects.count() - 1; i >= 0; --i)  		{ @@ -1500,7 +1500,7 @@ BOOL LLFolderBridge::isClipboardPasteableAsLink() const  	{  		return FALSE;  	} -	 +  	const LLInventoryModel* model = getInventoryModel();  	if (!model)  	{ @@ -1523,7 +1523,7 @@ BOOL LLFolderBridge::isClipboardPasteableAsLink() const  			{  				const LLUUID &cat_id = cat->getUUID();  				// Don't allow recursive pasting -				if ((cat_id == current_cat_id) ||  +				if ((cat_id == current_cat_id) ||  					model->isObjectDescendentOf(current_cat_id, cat_id))  				{  					return FALSE; @@ -1549,7 +1549,7 @@ BOOL LLFolderBridge::isClipboardPasteableAsLink() const  BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  											BOOL drop)  { -	// This should never happen, but if an inventory item is incorrectly parented,  +	// This should never happen, but if an inventory item is incorrectly parented,  	// the UI will get confused and pass in a NULL.  	if(!inv_cat) return FALSE; @@ -1611,7 +1611,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  					break;  				}  			} -			 +  			if( is_movable )  			{  				if( move_is_into_trash ) @@ -1642,7 +1642,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  			}  		} -		 +  		accept =	is_movable  					&& (mUUID != cat_id)								// Can't move a folder into itself  					&& (mUUID != inv_cat->getParentUUID())				// Avoid moves that would change nothing @@ -1663,7 +1663,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  				}  			}  			// if target is an outfit or current outfit folder we use link -			if (move_is_into_current_outfit || move_is_into_outfit)  +			if (move_is_into_current_outfit || move_is_into_outfit)  			{  #if SUPPORT_ENSEMBLES  				// BAP - should skip if dup. @@ -1686,7 +1686,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,  			}  			else  			{ -				 +  				// Reparent the folder and restamp children if it's moving  				// into trash.  				LLInvFVBridge::changeCategoryParent( @@ -1723,7 +1723,7 @@ void warn_move_inventory(LLViewerObject* object, LLMoveInv* move_inv)  // Move/copy all inventory items from the Contents folder of an in-world  // object to the agent's inventory, inside a given category. -BOOL move_inv_category_world_to_agent(const LLUUID& object_id,  +BOOL move_inv_category_world_to_agent(const LLUUID& object_id,  									  const LLUUID& category_id,  									  BOOL drop,  									  void (*callback)(S32, void*), @@ -1750,7 +1750,7 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id,  		llinfos << "Object contents not found for drop." << llendl;  		return FALSE;  	} -	 +  	BOOL accept = TRUE;  	BOOL is_move = FALSE; @@ -1836,7 +1836,7 @@ bool LLFindCOFValidItems::operator()(LLInventoryCategory* cat,  	{  		LLViewerInventoryCategory *linked_category = ((LLViewerInventoryItem*)item)->getLinkedCategory(); // BAP - safe?  		// BAP remove AT_NONE support after ensembles are fully working? -		return (linked_category &&  +		return (linked_category &&  				((linked_category->getPreferredType() == LLAssetType::AT_NONE) ||  				 (LLAssetType::lookupIsEnsembleCategoryType(linked_category->getPreferredType()))));  	} @@ -1878,7 +1878,7 @@ public:  		gInventory.removeObserver(this);  		delete this;  	} -	 +  protected:  	LLUUID mCatID; @@ -1973,7 +1973,7 @@ void LLRightClickInventoryFetchDescendentsObserver::done()  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  // Class LLInventoryWearObserver  // -// Observer for "copy and wear" operation to support knowing  +// Observer for "copy and wear" operation to support knowing  // when the all of the contents have been added to inventory.  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  class LLInventoryCopyAndWearObserver : public LLInventoryObserver @@ -1995,7 +1995,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)  {  	if((mask & (LLInventoryObserver::ADD)) != 0)  	{ -		if (!mFolderAdded)  +		if (!mFolderAdded)  		{  			const std::set<LLUUID>& changed_items = gInventory.getChangedIDs(); @@ -2003,7 +2003,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)  			std::set<LLUUID>::const_iterator id_end = changed_items.end();  			for (;id_it != id_end; ++id_it)  			{ -				if ((*id_it) == mCatID)  +				if ((*id_it) == mCatID)  				{  					mFolderAdded = TRUE;  					break; @@ -2011,7 +2011,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)  			}  		} -		if (mFolderAdded)  +		if (mFolderAdded)  		{  			LLViewerInventoryCategory* category = gInventory.getCategory(mCatID); @@ -2029,7 +2029,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)  					LLAppearanceManager::wearInventoryCategory(category, FALSE, TRUE);  					delete this;  				} -			}		 +			}  		}  	} @@ -2091,12 +2091,12 @@ void LLFolderBridge::performAction(LLFolderView* folder, LLInventoryModel* model  		if(!model) return;  		LLViewerInventoryCategory* cat = getCategory();  		if(!cat) return; -		 +  		remove_inventory_category_from_avatar ( cat );  		return; -	}	 +	}  	else if ("purge" == action) -	{		 +	{  		purgeItem(model, mUUID);  		return;  	} @@ -2270,7 +2270,7 @@ void LLFolderBridge::pasteFromClipboard()  			{  				if(LLInventoryClipboard::instance().isCutMode())  				{ -					// move_inventory_item() is not enough,  +					// move_inventory_item() is not enough,  					//we have to update inventory locally too  					changeItemParent(model, dynamic_cast<LLViewerInventoryItem*>(item), parent_id, FALSE);  				} @@ -2347,7 +2347,7 @@ void LLFolderBridge::folderOptionsMenu()  	// BAP change once we're no longer treating regular categories as ensembles.  	const bool is_ensemble = category && (type == LLAssetType::AT_NONE ||  										  LLAssetType::lookupIsEnsembleCategoryType(type)); -	 +  	// calling card related functionality for folders.  	// Only enable calling-card related options for non-default folders. @@ -2361,7 +2361,7 @@ void LLFolderBridge::folderOptionsMenu()  			mItems.push_back(std::string("IM All Contacts In Folder"));  		}  	} -	 +  	// wearables related functionality for folders.  	//is_wearable  	LLFindWearables is_wearable; @@ -2416,7 +2416,7 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  	LLUUID lost_and_found_id = model->findCategoryUUIDForType(LLAssetType::AT_LOST_AND_FOUND);  	mItems.clear(); //adding code to clear out member Items (which means Items should not have other data here at this point) -	mDisabledItems.clear(); //adding code to clear out disabled members from previous  +	mDisabledItems.clear(); //adding code to clear out disabled members from previous  	if (lost_and_found_id == mUUID)  	  {  		// This is the lost+found folder. @@ -2458,13 +2458,13 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  			mItems.push_back(std::string("New Clothes"));  			mItems.push_back(std::string("New Body Parts"));  			mItems.push_back(std::string("Change Type")); -			 +  			LLViewerInventoryCategory *cat = getCategory();  			if (cat && LLAssetType::lookupIsProtectedCategoryType(cat->getPreferredType()))  			{  				mDisabledItems.push_back(std::string("Change Type"));  			} -			 +  			getClipboardEntries(false, mItems, mDisabledItems, flags);  		}  		else @@ -2479,24 +2479,24 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  		//Added by spatters to force inventory pull on right-click to display folder options correctly. 07-17-06  		mCallingCards = mWearables = FALSE; -		 +  		LLIsType is_callingcard(LLAssetType::AT_CALLINGCARD);  		if (checkFolderForContentsOfType(model, is_callingcard))  		{  			mCallingCards=TRUE;  		} -		 +  		LLFindWearables is_wearable;  		LLIsType is_object( LLAssetType::AT_OBJECT );  		LLIsType is_gesture( LLAssetType::AT_GESTURE ); -		 +  		if (checkFolderForContentsOfType(model, is_wearable)  ||  			checkFolderForContentsOfType(model, is_object) ||  			checkFolderForContentsOfType(model, is_gesture) )  		{  			mWearables=TRUE;  		} -		 +  		mMenu = &menu;  		sSelf = this;  		LLRightClickInventoryFetchDescendentsObserver* fetch = new LLRightClickInventoryFetchDescendentsObserver(FALSE); @@ -2709,7 +2709,7 @@ void LLFolderBridge::modifyOutfit(BOOL append)  	if(!model) return;  	LLViewerInventoryCategory* cat = getCategory();  	if(!cat) return; -	 +  	// BAP - was:  	// wear_inventory_category_on_avatar( cat, append );  	LLAppearanceManager::wearInventoryCategory( cat, FALSE, append ); @@ -2735,8 +2735,8 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response  		}  		two_uuids_list_t::iterator move_it; -		for (move_it = move_inv->mMoveList.begin();  -			move_it != move_inv->mMoveList.end();  +		for (move_it = move_inv->mMoveList.begin(); +			move_it != move_inv->mMoveList.end();  			++move_it)  		{  			object->moveInventory(move_it->first, move_it->second); @@ -2845,7 +2845,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,  		LLUUID current_outfit_id = model->findCategoryUUIDForType(LLAssetType::AT_CURRENT_OUTFIT);  		BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);  		BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLAssetType::AT_OUTFIT); -		 +  		if(is_movable && move_is_into_trash)  		{  			switch(inv_item->getType()) @@ -2873,7 +2873,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,  			is_movable = ! LLFriendCardsManager::instance()  				.isObjDirectDescendentOfCategory (inv_item, getCategory());  		} -  +  		LLUUID favorites_id = model->findCategoryUUIDForType(LLAssetType::AT_FAVORITE);  		// we can move item inside a folder only if this folder is Favorites. See EXT-719 @@ -2979,7 +2979,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,  		if((perm.allowCopyBy(gAgent.getID(), gAgent.getGroupID())  			&& perm.allowTransferTo(gAgent.getID())))  //		   || gAgent.isGodlike()) -			 +  		{  			accept = TRUE;  		} @@ -3010,7 +3010,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,  				LLNotifications::instance().forceResponse(params, 0);  			}  		} -		 +  	}  	else if(LLToolDragAndDrop::SOURCE_NOTECARD == source)  	{ @@ -3063,11 +3063,11 @@ LLUIImagePtr LLTextureBridge::getIcon() const  {  	return get_item_icon(LLAssetType::AT_TEXTURE, mInvType, 0, FALSE);  } -	 +  void LLTextureBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3086,7 +3086,7 @@ LLUIImagePtr LLSoundBridge::getIcon() const  void LLSoundBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3155,7 +3155,7 @@ void LLSoundBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  // +=================================================+  LLLandmarkBridge::LLLandmarkBridge(LLInventoryPanel* inventory, const LLUUID& uuid, U32 flags/* = 0x00*/) : -LLItemBridge(inventory, uuid)  +LLItemBridge(inventory, uuid)  {  	mVisited = FALSE;  	if (flags & LLInventoryItem::II_FLAGS_LANDMARK_VISITED) @@ -3244,7 +3244,7 @@ void LLLandmarkBridge::performAction(LLFolderView* folder, LLInventoryModel* mod  			LLSideTray::getInstance()->showPanel("panel_places", key);  		}  	} -	else  +	else  	{  		LLItemBridge::performAction(folder, model, action);  	} @@ -3268,7 +3268,7 @@ static LLNotificationFunctorRegistration open_landmark_callback_reg("TeleportFro  void LLLandmarkBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3376,7 +3376,7 @@ std::string LLCallingCardBridge::getLabelSuffix() const  void LLCallingCardBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3515,7 +3515,7 @@ BOOL LLCallingCardBridge::removeItem()  		LLAvatarActions::removeFriendDialog(getItem()->getCreatorUUID());  		return FALSE;  	} -	else  +	else  	{  		return LLItemBridge::removeItem();  	} @@ -3532,7 +3532,7 @@ LLUIImagePtr LLNotecardBridge::getIcon() const  void LLNotecardBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3614,7 +3614,7 @@ void LLGestureBridge::performAction(LLFolderView* folder, LLInventoryModel* mode  void LLGestureBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3716,7 +3716,7 @@ void LLAnimationBridge::performAction(LLFolderView* folder, LLInventoryModel* mo  			LLPreviewAnim::e_activation_type activate = LLPreviewAnim::NONE;  			if ("playworld" == action) activate = LLPreviewAnim::PLAY;  			if ("playlocal" == action) activate = LLPreviewAnim::AUDITION; -			 +  			LLPreviewAnim* preview = LLFloaterReg::showTypedInstance<LLPreviewAnim>("preview_anim", LLSD(mUUID));  			if (preview)  			{ @@ -3733,7 +3733,7 @@ void LLAnimationBridge::performAction(LLFolderView* folder, LLInventoryModel* mo  void LLAnimationBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3841,7 +3841,7 @@ void LLObjectBridge::performAction(LLFolderView* folder, LLInventoryModel* model  void LLObjectBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -3853,7 +3853,7 @@ void LLObjectBridge::openItem()  }  LLFontGL::StyleFlags LLObjectBridge::getLabelStyle() const -{  +{  	U8 font = LLFontGL::NORMAL;  	LLVOAvatarSelf* avatar = gAgent.getAvatarObject(); @@ -3867,7 +3867,7 @@ LLFontGL::StyleFlags LLObjectBridge::getLabelStyle() const  	{  		font |= LLFontGL::ITALIC;  	} -	 +  	return (LLFontGL::StyleFlags)font;  } @@ -3878,7 +3878,7 @@ std::string LLObjectBridge::getLabelSuffix() const  	{  		std::string attachment_point_name = avatar->getAttachedPointName(mUUID);  		LLStringUtil::toLower(attachment_point_name); -		 +  		LLStringUtil::format_map_t args;  		args["[ATTACHMENT_POINT]"] =  attachment_point_name.c_str();  		return LLItemBridge::getLabelSuffix() + LLTrans::getString("WornOnAttachmentPoint", args); @@ -3925,7 +3925,7 @@ void rez_attachment(LLViewerInventoryItem* item, LLViewerJointAttachment* attach  bool confirm_replace_attachment_rez(const LLSD& notification, const LLSD& response)  {  	LLVOAvatar *avatarp = gAgent.getAvatarObject(); -		 +  	if (!avatarp->canAttachMoreObjects())  	{  		LLSD args; @@ -3938,7 +3938,7 @@ bool confirm_replace_attachment_rez(const LLSD& notification, const LLSD& respon  	if (option == 0/*YES*/)  	{  		LLViewerInventoryItem* itemp = gInventory.getItem(notification["payload"]["item_id"].asUUID()); -		 +  		if (itemp)  		{  			LLMessageSystem* msg = gMessageSystem; @@ -3999,7 +3999,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  			{  				return;  			} -			 +  			if( avatarp->isWearingAttachment( mUUID ) )  			{  				items.push_back(std::string("Detach From Yourself")); @@ -4023,13 +4023,13 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  				LLMenuGL* attach_menu = menu.findChildMenuByName("Attach To", TRUE);  				LLMenuGL* attach_hud_menu = menu.findChildMenuByName("Attach To HUD", TRUE);  				LLVOAvatar *avatarp = gAgent.getAvatarObject(); -				if (attach_menu  -					&& (attach_menu->getChildCount() == 0)  -					&& attach_hud_menu  -					&& (attach_hud_menu->getChildCount() == 0)  +				if (attach_menu +					&& (attach_menu->getChildCount() == 0) +					&& attach_hud_menu +					&& (attach_hud_menu->getChildCount() == 0)  					&& avatarp)  				{ -					for (LLVOAvatar::attachment_map_t::iterator iter = avatarp->mAttachmentPoints.begin();  +					for (LLVOAvatar::attachment_map_t::iterator iter = avatarp->mAttachmentPoints.begin();  						 iter != avatarp->mAttachmentPoints.end(); )  					{  						LLVOAvatar::attachment_map_t::iterator curiter = iter++; @@ -4110,7 +4110,7 @@ LLUIImagePtr LLLSLTextBridge::getIcon() const  void LLLSLTextBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -4146,7 +4146,7 @@ void wear_add_inventory_item_on_avatar( LLInventoryItem* item )  	{  		lldebugs << "wear_add_inventory_item_on_avatar( " << item->getName()  				 << " )" << llendl; -			 +  		LLWearableList::instance().getAsset(item->getAssetUUID(),  							   item->getName(),  							   item->getType(), @@ -4160,8 +4160,8 @@ void remove_inventory_category_from_avatar( LLInventoryCategory* category )  	if(!category) return;  	lldebugs << "remove_inventory_category_from_avatar( " << category->getName()  			 << " )" << llendl; -			  -	 + +  	if( gFloaterCustomize )  	{  		gFloaterCustomize->askToSaveIfDirty( @@ -4236,8 +4236,8 @@ void remove_inventory_category_from_avatar_step2( BOOL proceed, LLUUID category_  				}  			}  		} -		 -		 + +  		if (obj_count > 0)  		{  			for(i = 0; i  < obj_count; ++i) @@ -4332,7 +4332,7 @@ void LLWearableBridge::performAction(LLFolderView* folder, LLInventoryModel* mod  		{  			LLViewerInventoryItem* item = getItem();  			if (item) -			{	 +			{  				LLWearableList::instance().getAsset(item->getAssetUUID(),  													item->getName(),  													item->getType(), @@ -4347,7 +4347,7 @@ void LLWearableBridge::performAction(LLFolderView* folder, LLInventoryModel* mod  void LLWearableBridge::openItem()  {  	LLViewerInventoryItem* item = getItem(); -	 +  	if (item)  	{  		LLInvFVBridgeAction::doAction(item->getType(),mUUID,getInventoryModel()); @@ -4431,7 +4431,7 @@ void LLWearableBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  		getClipboardEntries(true, items, disabled_items, flags);  		items.push_back(std::string("Wearable Separator")); -		 +  		items.push_back(std::string("Wearable Wear"));  		items.push_back(std::string("Wearable Add"));  		items.push_back(std::string("Wearable Edit")); @@ -4462,7 +4462,7 @@ void LLWearableBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  						disabled_items.push_back(std::string("Wearable Add"));  					}  					else -					{	 +					{  						disabled_items.push_back(std::string("Take Off"));  					}  					break; @@ -4501,7 +4501,7 @@ void LLWearableBridge::wearOnAvatar()  {  	// Don't wear anything until initial wearables are loaded, can  	// destroy clothing items. -	if (!gAgentWearables.areWearablesLoaded())  +	if (!gAgentWearables.areWearablesLoaded())  	{  		LLNotifications::instance().add("CanNotChangeAppearanceUntilLoaded");  		return; @@ -4532,7 +4532,7 @@ void LLWearableBridge::wearAddOnAvatar()  {  	// Don't wear anything until initial wearables are loaded, can  	// destroy clothing items. -	if (!gAgentWearables.areWearablesLoaded())  +	if (!gAgentWearables.areWearablesLoaded())  	{  		LLNotifications::instance().add("CanNotChangeAppearanceUntilLoaded");  		return; @@ -4620,7 +4620,7 @@ BOOL LLWearableBridge::canEditOnAvatar(void* user_data)  	return (gAgentWearables.isWearingItem(self->mUUID));  } -// static  +// static  void LLWearableBridge::onEditOnAvatar(void* user_data)  {  	LLWearableBridge* self = (LLWearableBridge*)user_data; @@ -4658,7 +4658,7 @@ BOOL LLWearableBridge::canRemoveFromAvatar(void* user_data)  	return FALSE;  } -// static  +// static  void LLWearableBridge::onRemoveFromAvatar(void* user_data)  {  	LLWearableBridge* self = (LLWearableBridge*)user_data; @@ -4689,7 +4689,7 @@ void LLWearableBridge::onRemoveFromAvatarArrived(LLWearable* wearable,  		if( gAgentWearables.isWearingItem( item_id ) )  		{  			EWearableType type = wearable->getType(); -	 +  			if( !(type==WT_SHAPE || type==WT_SKIN || type==WT_HAIR || type==WT_EYES ) ) //&&  				//!((!gAgent.isTeen()) && ( type==WT_UNDERPANTS || type==WT_UNDERSHIRT )) )  			{ @@ -4733,7 +4733,7 @@ LLInvFVBridgeAction* LLInvFVBridgeAction::createAction(LLAssetType::EType asset_  	case LLAssetType::AT_LANDMARK:  		action = new LLLandmarkBridgeAction(uuid,model);  		break; -		 +  	case LLAssetType::AT_CALLINGCARD:  		action = new LLCallingCardBridgeAction(uuid,model);  		break; @@ -4770,7 +4770,7 @@ LLInvFVBridgeAction* LLInvFVBridgeAction::createAction(LLAssetType::EType asset_  	return action;  } -//static  +//static  void LLInvFVBridgeAction::doAction(LLAssetType::EType asset_type,  								   const LLUUID& uuid,LLInventoryModel* model)  { @@ -4782,7 +4782,7 @@ void LLInvFVBridgeAction::doAction(LLAssetType::EType asset_type,  	}  } -//static  +//static  void LLInvFVBridgeAction::doAction(const LLUUID& uuid, LLInventoryModel* model)  {  	LLAssetType::EType asset_type = model->getItem(uuid)->getType(); @@ -4801,8 +4801,8 @@ LLViewerInventoryItem* LLInvFVBridgeAction::getItem() const  	return NULL;  } -//virtual  -void	LLTextureBridgeAction::doIt()  +//virtual +void	LLTextureBridgeAction::doIt()  {  	if (getItem())  	{ @@ -4813,20 +4813,20 @@ void	LLTextureBridgeAction::doIt()  }  //virtual -void	LLSoundBridgeAction::doIt()  +void	LLSoundBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if(item)  	{  		LLFloaterReg::showInstance("preview_sound", LLSD(mUUID), TAKE_FOCUS_YES);  	} -	 +  	LLInvFVBridgeAction::doIt();  } -//virtual  -void	LLLandmarkBridgeAction::doIt()  +//virtual +void	LLLandmarkBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if( item ) @@ -4842,8 +4842,8 @@ void	LLLandmarkBridgeAction::doIt()  } -//virtual  -void	LLCallingCardBridgeAction::doIt()  +//virtual +void	LLCallingCardBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if(item && item->getCreatorUUID().notNull()) @@ -4854,9 +4854,9 @@ void	LLCallingCardBridgeAction::doIt()  	LLInvFVBridgeAction::doIt();  } -//virtual  -void	 -LLNotecardBridgeAction::doIt()  +//virtual +void +LLNotecardBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if (item) @@ -4867,8 +4867,8 @@ LLNotecardBridgeAction::doIt()  	LLInvFVBridgeAction::doIt();  } -//virtual  -void	LLGestureBridgeAction::doIt()  +//virtual +void	LLGestureBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if (item) @@ -4880,8 +4880,8 @@ void	LLGestureBridgeAction::doIt()  	LLInvFVBridgeAction::doIt();  } -//virtual  -void	LLAnimationBridgeAction::doIt()  +//virtual +void	LLAnimationBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if (item) @@ -4893,7 +4893,7 @@ void	LLAnimationBridgeAction::doIt()  } -//virtual  +//virtual  void	LLObjectBridgeAction::doIt()  {  	LLFloaterReg::showInstance("properties", mUUID); @@ -4902,8 +4902,8 @@ void	LLObjectBridgeAction::doIt()  } -//virtual  -void	LLLSLTextBridgeAction::doIt()  +//virtual +void	LLLSLTextBridgeAction::doIt()  {  	LLViewerInventoryItem* item = getItem();  	if (item) @@ -4933,7 +4933,7 @@ void LLWearableBridgeAction::wearOnAvatar()  {  	// Don't wear anything until initial wearables are loaded, can  	// destroy clothing items. -	if (!gAgentWearables.areWearablesLoaded())  +	if (!gAgentWearables.areWearablesLoaded())  	{  		LLNotifications::instance().add("CanNotChangeAppearanceUntilLoaded");  		return; @@ -4960,7 +4960,7 @@ void LLWearableBridgeAction::wearOnAvatar()  	}  } -//virtual  +//virtual  void LLWearableBridgeAction::doIt()  {  	if(isInTrash()) @@ -5036,7 +5036,7 @@ void LLLinkItemBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  		items.push_back(std::string("Restore Item"));  	}  	else -	{	 +	{  		items.push_back(std::string("Delete"));  		if (!isItemRemovable())  		{ @@ -5086,7 +5086,7 @@ void LLLinkFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)  		items.push_back(std::string("Restore Item"));  	}  	else -	{	 +	{  		items.push_back(std::string("Goto Link"));  		items.push_back(std::string("Delete"));  		if (!isItemRemovable()) diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index d3366cdcaa..db473a3f10 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -151,6 +151,7 @@    <texture name="Inspector_Hover" file_name="windows/Inspector_Hover.png" preload="false" />    <texture name="Inv_Acessories" file_name="icons/Inv_Accessories.png" preload="false" /> +  <texture name="Inv_Alpha" file_name="icons/Inv_Alpha.png" preload="false" />    <texture name="Inv_Animation" file_name="icons/Inv_Animation.png" preload="false" />    <texture name="Inv_BodyShape" file_name="icons/Inv_BodyShape.png" preload="false" />    <texture name="Inv_CallingCard" file_name="icons/Inv_CallingCard.png" preload="false" /> @@ -175,6 +176,7 @@    <texture name="Inv_Snapshot" file_name="icons/Inv_Snapshot.png" preload="false" />    <texture name="Inv_Socks" file_name="icons/Inv_Socks.png" preload="false" />    <texture name="Inv_Sound" file_name="icons/Inv_Sound.png" preload="false" /> +  <texture name="Inv_Tattoo" file_name="icons/Inv_Tattoo.png" preload="false" />    <texture name="Inv_Texture" file_name="icons/Inv_Texture.png" preload="false" />    <texture name="Inv_Trash" file_name="icons/Inv_Trash.png" preload="false" />    <texture name="Inv_Underpants" file_name="icons/Inv_Underpants.png" preload="false" /> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml index f42bab14de..91dcdce23b 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml @@ -20,8 +20,9 @@      </panel.string>      <check_box       control_name="UseChatBubbles" +     follows="left|top"       height="16" -     label="Bubble Chat" +     label="Bubble chat"       layout="topleft"       left="30"       top="10" @@ -30,6 +31,7 @@      <slider       control_name="ChatBubbleOpacity" +     follows="left|top"       height="16"       increment="0.05"       initial_value="1" @@ -40,40 +42,24 @@       label_width="50"       name="bubble_chat_opacity"       width="200" /> - -   <!-- <check_box -     control_name="UIAutoScale" -     height="16" -     label="Resolution independent scale" -     layout="topleft" -     left="30" -     name="ui_auto_scale" -     top_pad="10" -     width="256" />--> -    <!-- -    <combo_box -     height="18" -     layout="topleft" -     left_pad="5" -     name="fullscreen combo" -     top_delta="-1" -     width="150" /-->      <text +     follows="left|top"       type="string"       length="1"       height="25"       layout="topleft"       left="30" -     top_pad="20" +     top_pad="5"       name="AspectRatioLabel1"       tool_tip="width / height"       label_width="50"       width="120"> -        Aspect Ratio +        Aspect ratio      </text>      <combo_box       allow_text_entry="true"       height="20" +     follows="left|top"       layout="topleft"       left_pad="0"       max_chars="100" @@ -104,6 +90,7 @@      </combo_box>      <check_box       control_name="FullScreenAutoDetectAspectRatio" +     follows="left|top"       height="25"       label="Auto-detect"       layout="topleft" @@ -113,14 +100,14 @@          <check_box.commit_callback           function="Pref.AutoDetectAspect" />      </check_box> -       <text +     follows="left|top"       type="string"       length="1"       height="10"       left="30"       name="heading1" -     top_pad="10" +     top_pad="5"       width="270">  Camera:  	</text> @@ -128,7 +115,7 @@ Camera:       can_edit_text="true"  	 control_name="CameraAngle"       decimal_digits="2" -     top_pad="10" +     top_pad="5"       follows="left|top"       height="16"       increment="0.025" @@ -159,56 +146,62 @@ Camera:       name="camera_offset_scale"       show_text="false"       width="240" -     top_pad="10"/> +     top_pad="5"/>       <text +     follows="left|top"       type="string"       length="1"       height="10"       left="30"       name="heading2" -     width="270"> +     width="270" +     top_pad="5">  Automatic positioning for:  	</text>          <check_box       control_name="EditCameraMovement"       height="20" +     follows="left|top"       label="Build/Edit"       layout="topleft"       left_delta="50"       name="edit_camera_movement"       tool_tip="Use automatic camera positioning when entering and exiting edit mode"       width="280" -     top_pad="10" /> +     top_pad="5" />      <check_box       control_name="AppearanceCameraMovement" +     follows="left|top"       height="16"       label="Appearance"       layout="topleft"       name="appearance_camera_movement"       tool_tip="Use automatic camera positioning while in edit mode"       width="242" /> -       <text +     follows="left|top"       type="string"       length="1"       height="10"       left="30"       name="heading3" -     top_pad="10" +     top_pad="5"       width="270">  Avatars:  	</text>      <check_box       control_name="FirstPersonAvatarVisible" +     follows="left|top"       height="20"       label="Show me in Mouselook"       layout="topleft"       left_delta="50"       name="first_person_avatar_visible"       width="256" -     top_pad="10"/> +     top_pad="0"/>      <check_box       control_name="ArrowKeysMoveAvatar" +     follows="left|top"       height="20"       label="Arrow keys always move me"       layout="topleft" @@ -218,6 +211,7 @@ Avatars:       top_pad="0"/>      <check_box       control_name="AllowTapTapHoldRun" +     follows="left|top"       height="20"       label="Tap-tap-hold to run"       layout="topleft" @@ -227,6 +221,7 @@ Avatars:       top_pad="0"/>      <check_box       control_name="LipSyncEnabled" +     follows="left|top"       height="20"       label="Move avatar lips when speaking"       layout="topleft" @@ -236,16 +231,18 @@ Avatars:       top_pad="0" />      <check_box       control_name="ShowScriptErrors" +     follows="left|top"       height="20"       label="Show script errors"       layout="topleft"       left="30"       name="show_script_errors"       width="256" -     top_pad="10"/> +     top_pad="5"/>      <radio_group  	 enabled_control="ShowScriptErrors"  	 control_name="ShowScriptErrorsLocation" +     follows="top|left"       draw_border="false"       height="40"       layout="topleft" @@ -259,17 +256,53 @@ Avatars:           layout="topleft"           left="3"           name="0" -         top="3" +         top="0"           width="315" />          <radio_item           height="16"           label="In window"           layout="topleft" -         left_delta="0" +         left_delta="175"           name="1" -         top_delta="16" +         top_delta="0"           width="315" />      </radio_group> - - +     <check_box +     follows="top|left" +     height="20" +     label="Use Push-to-talk in toggle mode" +     layout="topleft" +     left="30" +     name="push_to_talk_toggle_check" +     width="237" +     top_pad="-25" +     tool_tip="When in toggle mode, press and release the push-to-talk trigger to switch your microphone on and off. When not in toggle mode, the microphone is active only when the trigger is held down."/> +    <line_editor +     follows="top|left" +     height="19" +     left_delta="50" +     max_length="254" +     name="modifier_combo" +     label="Push-to-talk trigger" +     top_pad="0" +     width="280" /> +    <button +	follows="top|left" +	height="20" +	label="Set Key" +	left_delta="0" +        name="set_voice_hotkey_button" +	width="115" +	top_pad="5" /> +    <button +        bottom_delta="0" +	follows="left" +	font="SansSerif" +	halign="center" +	height="20" +	label="Middle Mouse Button" +	left_delta="120" +	mouse_opaque="true" +	name="set_voice_middlemouse_button" +	width="160" />  </panel> | 
