diff options
20 files changed, 505 insertions, 352 deletions
| diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 04a6c48b4f..774248ce4d 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -1122,11 +1122,6 @@ void LLBottomTray::initStateProcessedObjectMap()  	mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_MOVEMENT, mMovementPanel));  	mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_CAMERA, mCamPanel));  	mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SNAPSHOT, mSnapshotPanel)); - -	mDummiesMap.insert(std::make_pair(RS_BUTTON_GESTURES, getChild<LLUICtrl>("after_gesture_panel"))); -	mDummiesMap.insert(std::make_pair(RS_BUTTON_MOVEMENT, getChild<LLUICtrl>("after_movement_panel"))); -	mDummiesMap.insert(std::make_pair(RS_BUTTON_CAMERA,   getChild<LLUICtrl>("after_cam_panel"))); -	mDummiesMap.insert(std::make_pair(RS_BUTTON_SPEAK,    getChild<LLUICtrl>("after_speak_panel")));  }  void LLBottomTray::setTrayButtonVisible(EResizeState shown_object_type, bool visible) @@ -1140,12 +1135,6 @@ void LLBottomTray::setTrayButtonVisible(EResizeState shown_object_type, bool vis  	}  	panel->setVisible(visible); - -	if (mDummiesMap.count(shown_object_type)) -	{ -		// Hide/show layout panel for dummy icon. -		mDummiesMap[shown_object_type]->getParent()->setVisible(visible); -	}  }  void LLBottomTray::setTrayButtonVisibleIfPossible(EResizeState shown_object_type, bool visible, bool raise_notification) @@ -1168,20 +1157,13 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible  		return false;  	} -	const S32 dummy_width = mDummiesMap.count(object_type) -		? mDummiesMap[object_type]->getParent()->getRect().getWidth() -		: 0; -  	bool is_set = true;  	if (visible)  	{ -		// Assume that only chiclet panel can be auto-resized and -		// don't take into account width of dummy widgets +		// Assume that only chiclet panel can be auto-resized  		const S32 available_width = -			mChicletPanel->getParent()->getRect().getWidth() - -			mChicletPanel->getMinWidth() - -			dummy_width; +			mChicletPanel->getParent()->getRect().getWidth() - mChicletPanel->getMinWidth();  		S32 preferred_width = mObjectDefaultWidthMap[object_type];  		S32 current_width = cur_panel->getRect().getWidth(); @@ -1249,7 +1231,7 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible  		// Shrink buttons if needed  		if (is_set && decrease_width)  		{ -			processWidthDecreased( -result_width - dummy_width ); +			processWidthDecreased( -result_width);  		}  	}  	else @@ -1264,7 +1246,7 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible  		// Extend other buttons if need  		if (delta_width)  		{ -			processWidthIncreased(delta_width + dummy_width); +			processWidthIncreased(delta_width);  		}  	}  	return is_set; diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h index 8395b484cf..54258f74c1 100644 --- a/indra/newview/llbottomtray.h +++ b/indra/newview/llbottomtray.h @@ -205,9 +205,6 @@ private:  	typedef std::map<EResizeState, S32> state_object_width_map_t;  	state_object_width_map_t mObjectDefaultWidthMap; -	typedef std::map<EResizeState, LLUICtrl*> dummies_map_t; -	dummies_map_t mDummiesMap; -  protected:  	LLBottomTray(const LLSD& key = LLSD()); diff --git a/indra/newview/llfloatersellland.cpp b/indra/newview/llfloatersellland.cpp index 980b456497..9dddbd998a 100644 --- a/indra/newview/llfloatersellland.cpp +++ b/indra/newview/llfloatersellland.cpp @@ -94,7 +94,6 @@ private:  	static void doSellLand(void *userdata);  	bool onConfirmSale(const LLSD& notification, const LLSD& response);  	static void doShowObjects(void *userdata); -	static bool callbackHighlightTransferable(const LLSD& notification, const LLSD& response);  	void callbackAvatarPick(const std::vector<std::string>& names, const uuid_vec_t& ids); @@ -102,6 +101,7 @@ public:  	virtual BOOL postBuild();  	bool setParcel(LLViewerRegion* region, LLParcelSelectionHandle parcel); +	static bool callbackHighlightTransferable(const LLSD& notification, const LLSD& response);  };  // static @@ -423,11 +423,13 @@ void LLFloaterSellLandUI::doShowObjects(void *userdata)  	send_parcel_select_objects(parcel->getLocalID(), RT_SELL); +	// we shouldn't pass callback functor since it is registered in LLFunctorRegistration  	LLNotificationsUtil::add("TransferObjectsHighlighted", -						LLSD(), LLSD(), -						&LLFloaterSellLandUI::callbackHighlightTransferable); +						LLSD(), LLSD());  } +static LLNotificationFunctorRegistration tr("TransferObjectsHighlighted", &LLFloaterSellLandUI::callbackHighlightTransferable); +  // static  bool LLFloaterSellLandUI::callbackHighlightTransferable(const LLSD& notification, const LLSD& data)  { diff --git a/indra/newview/llnotificationstorage.cpp b/indra/newview/llnotificationstorage.cpp index 316ff4324c..20b40b4e1d 100644 --- a/indra/newview/llnotificationstorage.cpp +++ b/indra/newview/llnotificationstorage.cpp @@ -112,8 +112,8 @@ void LLPersistentNotificationStorage::saveNotifications()  		LLNotificationPtr notification = *it;  		// After a notification was placed in Persist channel, it can become -		// responded, expired - in this case we are should not save it -		if(notification->isRespondedTo() +		// responded, expired or canceled - in this case we are should not save it +		if(notification->isRespondedTo() || notification->isCancelled()  			|| notification->isExpired())  		{  			continue; @@ -208,7 +208,6 @@ LLNotificationResponderInterface* LLResponderRegistry::createResponder(const std  	build_map_t::const_iterator it = sBuildMap.find(notification_name);  	if(sBuildMap.end() == it)  	{ -		llwarns << "Responder for notification \'" << notification_name << "\' is not registered" << llendl;  		return NULL;  	}  	responder_constructor_t ctr = it->second; diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 43c2f01da5..1c74c8f26a 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -98,26 +98,75 @@ public:  	{  		if (!gInventory.isInventoryUsable()) return; -		LLUUID cof = LLAppearanceMgr::getInstance()->getCOF(); -		if (cof.isNull()) return; +		bool panel_updated = checkCOF(); + +		if (!panel_updated) +		{ +			checkBaseOutfit(); +		} +	} + +protected: -		LLViewerInventoryCategory* cat = gInventory.getCategory(cof); -		if (!cat) return; +	/** Get a version of an inventory category specified by its UUID */ +	static S32 getCategoryVersion(const LLUUID& cat_id) +	{ +		LLViewerInventoryCategory* cat = gInventory.getCategory(cat_id); +		if (!cat) return LLViewerInventoryCategory::VERSION_UNKNOWN; -		S32 cof_version = cat->getVersion(); +		return cat->getVersion(); +	} -		if (cof_version == mCOFLastVersion) return; +	bool checkCOF() +	{ +		LLUUID cof = LLAppearanceMgr::getInstance()->getCOF(); +		if (cof.isNull()) return false; +		S32 cof_version = getCategoryVersion(cof); + +		if (cof_version == mCOFLastVersion) return false; +		  		mCOFLastVersion = cof_version;  		mPanel->update(); + +		return true;  	} -protected: +	void checkBaseOutfit() +	{ +		LLUUID baseoutfit_id = LLAppearanceMgr::getInstance()->getBaseOutfitUUID(); + +		if (baseoutfit_id == mBaseOutfitId) +		{ +			if (baseoutfit_id.isNull()) return; + +			const S32 baseoutfit_ver = getCategoryVersion(baseoutfit_id); + +			if (baseoutfit_ver == mBaseOutfitLastVersion) return; +		} +		else +		{ +			mBaseOutfitId = baseoutfit_id; +			if (baseoutfit_id.isNull()) return; + +			mBaseOutfitLastVersion = getCategoryVersion(mBaseOutfitId); +		} + +		mPanel->updateVerbs(); +	} +	 + + +  	LLPanelOutfitEdit *mPanel;  	//last version number of a COF category  	S32 mCOFLastVersion; + +	LLUUID  mBaseOutfitId; + +	S32 mBaseOutfitLastVersion;  }; @@ -159,8 +208,13 @@ BOOL LLPanelOutfitEdit::postBuild()  	mLookItemTypes[LIT_ATTACHMENT] = LLLookItemType(getString("Filter.Objects"), ATTACHMENT_MASK);  	mCurrentOutfitName = getChild<LLTextBox>("curr_outfit_name");  +	mStatus = getChild<LLTextBox>("status"); + +	mFolderViewBtn = getChild<LLButton>("folder_view_btn"); +	mListViewBtn = getChild<LLButton>("list_view_btn");  	childSetCommitCallback("filter_button", boost::bind(&LLPanelOutfitEdit::showWearablesFilter, this), NULL); +	childSetCommitCallback("folder_view_btn", boost::bind(&LLPanelOutfitEdit::showFilteredFolderWearablesPanel, this), NULL);  	childSetCommitCallback("list_view_btn", boost::bind(&LLPanelOutfitEdit::showFilteredWearablesPanel, this), NULL);  	mCOFWearables = getChild<LLCOFWearables>("cof_wearables_list"); @@ -217,8 +271,9 @@ BOOL LLPanelOutfitEdit::postBuild()  	save_registar.add("Outfit.SaveAsNew.Action", boost::bind(&LLPanelOutfitEdit::saveOutfit, this, true));  	mSaveMenu = LLUICtrlFactory::getInstance()->createFromFile<LLToggleableMenu>("menu_save_outfit.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); -	mWearableListManager = new LLFilteredWearableListManager( -		getChild<LLInventoryItemsList>("filtered_wearables_list"), ALL_ITEMS_MASK); +	mWearableItemsPanel = getChild<LLPanel>("filtered_wearables_panel"); +	mWearableItemsList = getChild<LLInventoryItemsList>("filtered_wearables_list"); +	mWearableListManager = new LLFilteredWearableListManager(mWearableItemsList, ALL_ITEMS_MASK);  	return TRUE;  } @@ -239,12 +294,33 @@ void LLPanelOutfitEdit::toggleAddWearablesPanel()  void LLPanelOutfitEdit::showWearablesFilter()  { -	childSetVisible("filter_combobox_panel", childGetValue("filter_button")); +	bool filter_visible = childGetValue("filter_button"); + +	childSetVisible("filter_panel", filter_visible); + +	if(!filter_visible) +	{ +		mSearchFilter->clear(); +		onSearchEdit(LLStringUtil::null); +	}  }  void LLPanelOutfitEdit::showFilteredWearablesPanel()  { -	childSetVisible("filtered_wearables_panel", !childIsVisible("filtered_wearables_panel")); +	if(switchPanels(mInventoryItemsPanel, mWearableItemsPanel)) +	{ +		mFolderViewBtn->setToggleState(FALSE); +	} +	mListViewBtn->setToggleState(TRUE); +} + +void LLPanelOutfitEdit::showFilteredFolderWearablesPanel() +{ +	if(switchPanels(mWearableItemsPanel, mInventoryItemsPanel)) +	{ +		mListViewBtn->setToggleState(FALSE); +	} +	mFolderViewBtn->setToggleState(TRUE);  }  void LLPanelOutfitEdit::saveOutfit(bool as_new) @@ -309,7 +385,7 @@ void LLPanelOutfitEdit::onSearchEdit(const std::string& string)  	if (mSearchString == "")  	{  		mInventoryItemsPanel->setFilterSubString(LLStringUtil::null); -		 +		mWearableItemsList->setFilterSubString(LLStringUtil::null);  		// re-open folders that were initially open  		mSavedFolderState->setApply(TRUE);  		mInventoryItemsPanel->getRootFolder()->applyFunctorRecursively(*mSavedFolderState); @@ -335,6 +411,8 @@ void LLPanelOutfitEdit::onSearchEdit(const std::string& string)  	// set new filter string  	mInventoryItemsPanel->setFilterSubString(mSearchString); +	mWearableItemsList->setFilterSubString(mSearchString); +  }  void LLPanelOutfitEdit::onAddToOutfitClicked(void) @@ -479,11 +557,26 @@ void LLPanelOutfitEdit::updateVerbs()  	LLAppearanceMgr::getInstance()->updateIsDirty();  	bool outfit_is_dirty = LLAppearanceMgr::getInstance()->isOutfitDirty(); -	 +	bool has_baseoutfit = LLAppearanceMgr::getInstance()->getBaseOutfitUUID().notNull(); +  	childSetEnabled(SAVE_BTN, outfit_is_dirty); -	childSetEnabled(REVERT_BTN, outfit_is_dirty); +	childSetEnabled(REVERT_BTN, outfit_is_dirty && has_baseoutfit);  	mSaveMenu->setItemEnabled("save_outfit", outfit_is_dirty); + +	mStatus->setText(outfit_is_dirty ? getString("unsaved_changes") : getString("now_editing")); + +} + +bool LLPanelOutfitEdit::switchPanels(LLPanel* switch_from_panel, LLPanel* switch_to_panel) +{ +	if(switch_from_panel && switch_to_panel && !switch_to_panel->getVisible()) +	{ +		switch_from_panel->setVisible(FALSE); +		switch_to_panel->setVisible(TRUE); +		return true; +	} +	return false;  }  // EOF diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index 3cdfed14b9..cb8283fca3 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -42,6 +42,7 @@  #include "llremoteparcelrequest.h"  #include "llinventory.h" +#include "llinventoryitemslist.h"  #include "llinventorymodel.h"  class LLButton; @@ -87,6 +88,7 @@ public:  	void toggleAddWearablesPanel();  	void showWearablesFilter();  	void showFilteredWearablesPanel(); +	void showFilteredFolderWearablesPanel();  	void saveOutfit(bool as_new = false);  	void showSaveMenu(); @@ -102,20 +104,34 @@ public:  	void update(); +	void updateVerbs(); +	/** +	 * @brief Helper function. Shows one panel instead of another. +	 *		  If panels already switched does nothing and returns false. +	 * @param  switch_from_panel panel to hide +	 * @param  switch_to_panel panel to show +	 * @retun  returns true if switching happened, false if not. +	 */ +	bool switchPanels(LLPanel* switch_from_panel, LLPanel* switch_to_panel); +  private: -	void updateVerbs();  	LLTextBox*			mCurrentOutfitName; +	LLTextBox*			mStatus;  	LLInventoryPanel*	mInventoryItemsPanel;  	LLFilterEditor*		mSearchFilter;  	LLSaveFolderState*	mSavedFolderState;  	std::string			mSearchString;  	LLButton*			mEditWearableBtn; +	LLButton*			mFolderViewBtn; +	LLButton*			mListViewBtn;  	LLToggleableMenu*	mSaveMenu; -	LLFilteredWearableListManager* mWearableListManager; +	LLFilteredWearableListManager* 	mWearableListManager; +	LLInventoryItemsList* 			mWearableItemsList; +	LLPanel*						mWearableItemsPanel;  	LLCOFObserver*	mCOFObserver;  	std::vector<LLLookItemType> mLookItemTypes; diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index 11b6c0a3ae..b68fc3b002 100644 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -482,7 +482,7 @@ std::string LLScriptFloaterManager::getObjectName(const LLUUID& notification_id)  		text = notification->getSubstitutions()["OBJECTNAME"].asString();  		break;  	case LLScriptFloaterManager::OBJ_GIVE_INVENTORY: -		text = notification->getSubstitutions()["NAME"].asString(); +		text = notification->getSubstitutions()["OBJECTFROMNAME"].asString();  		break;  	default:  		text = LLTrans::getString("object"); diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index 089163929e..9275ca4f42 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -291,7 +291,10 @@ LLToastNotifyPanel::~LLToastNotifyPanel()  	{  		// let reusable notification be deleted  		mNotification->setReusable(false); -		LLNotifications::getInstance()->cancel(mNotification); +		if (!mNotification->isPersistent()) +		{ +			LLNotifications::getInstance()->cancel(mNotification); +		}  	}  } diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index fb178f0868..28c1a1ad3a 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2328,7 +2328,8 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  				LLSD args;  				args["MESSAGE"] = message; -				LLNotificationsUtil::add("JoinGroup", args, payload, join_group_response); +				// we shouldn't pass callback functor since it is registered in LLFunctorRegistration +				LLNotificationsUtil::add("JoinGroup", args, payload);  			}  		}  		break; diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h index 41dc95cec6..b7f3fd0dff 100644 --- a/indra/newview/llwearableitemslist.h +++ b/indra/newview/llwearableitemslist.h @@ -124,6 +124,29 @@ protected:  	/*virtual*/ void init();  }; + +class LLPanelDeletableWearableListItem : public LLPanelWearableListItem +{ +	LOG_CLASS(LLPanelDeletableWearableListItem); +public: + +	static LLPanelDeletableWearableListItem* create(LLViewerInventoryItem* item); + +	virtual ~LLPanelDeletableWearableListItem(); + +	/*virtual*/ BOOL postBuild(); + +	/** +	 * Make button visible during mouse over event. +	 */ +	inline void setShowDeleteButton(bool show) { setShowWidget("btn_delete", show); } + +protected: +	LLPanelDeletableWearableListItem(LLViewerInventoryItem* item); + +	/*virtual*/ void init(); +}; +  /**   * @class LLPanelDummyClothingListItem   * diff --git a/indra/newview/skins/default/textures/icons/Female.png b/indra/newview/skins/default/textures/icons/Female.pngBinary files differ new file mode 100644 index 0000000000..67b5653a94 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Female.png diff --git a/indra/newview/skins/default/textures/icons/Male.png b/indra/newview/skins/default/textures/icons/Male.pngBinary files differ new file mode 100644 index 0000000000..f3fad77fd0 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Male.png diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 1d7102aaaa..4f46e34520 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -1207,6 +1207,7 @@ Eject [AVATAR_NAME] from your land?    <notification     icon="alertmodal.tga"     name="EjectAvatarFromGroup" +   persist="true"     type="notify">  You ejected [AVATAR_NAME] from group [GROUP_NAME]    </notification> @@ -2512,6 +2513,7 @@ Would you like to trust this authority?    <notification     icon="alertmodal.tga"     name="GrantedModifyRights" +   persist="true"     type="notify">  [NAME] has given you permission to edit their objects.    </notification> @@ -2519,6 +2521,7 @@ Would you like to trust this authority?    <notification     icon="alertmodal.tga"     name="RevokedModifyRights" +   persist="true"     type="notify">  Your privilege to modify [NAME]'s objects has been revoked    </notification> @@ -4433,6 +4436,7 @@ Replaced missing clothing/body part with default.    <notification     icon="groupnotify"     name="GroupNotice" +   persist="true"     type="groupnotify">  Topic: [SUBJECT], Message: [MESSAGE]    </notification> @@ -4481,6 +4485,7 @@ Do you wish to proceed?    <notification     icon="notify.tga"     name="UploadPayment" +   persist="true"     type="notify">  You paid L$[AMOUNT] to upload.    </notification> @@ -4768,6 +4773,7 @@ Please select at least one type of content to search (General, Moderate, or Adul    <notification     icon="notify.tga"     name="SystemMessage" +   persist="true"     type="notify">  [MESSAGE]    </notification> @@ -4775,10 +4781,13 @@ Please select at least one type of content to search (General, Moderate, or Adul    <notification     icon="notify.tga"     name="PaymentRecived" +   persist="true"     type="notify">  [MESSAGE]    </notification> +   <!-- EventNotification couldn't be persist since server decide is it necessary to notify  +   user about subscribed event via LLEventNotifier-->    <notification     icon="notify.tga"     name="EventNotification" @@ -4806,6 +4815,7 @@ Event Notification:    <notification     icon="notify.tga"     name="TransferObjectsHighlighted" +   persist="true"     type="notify">  All objects on this parcel that will transfer to the purchaser of this parcel are now highlighted. @@ -4821,6 +4831,7 @@ All objects on this parcel that will transfer to the purchaser of this parcel ar    <notification     icon="notify.tga"     name="DeactivatedGesturesTrigger" +   persist="true"     type="notify">  Deactivated gestures with same trigger:  [NAMES] @@ -4829,6 +4840,7 @@ Deactivated gestures with same trigger:    <notification     icon="notify.tga"     name="NoQuickTime" +   persist="true"     type="notify">  Apple's QuickTime software does not appear to be installed on your system.  If you want to view streaming media on parcels that support it you should go to the [http://www.apple.com/quicktime QuickTime site] and install the QuickTime Player. @@ -4836,6 +4848,7 @@ If you want to view streaming media on parcels that support it you should go to    <notification     icon="notify.tga"     name="NoPlugin" +   persist="true"     type="notify">  No Media Plugin was found to handle the "[MIME_TYPE]" mime type.  Media of this type will be unavailable.    </notification> @@ -4855,6 +4868,7 @@ Please re-install the plugin or contact the vendor if you continue to experience    <notification     icon="notify.tga"     name="OwnedObjectsReturned" +   persist="true"     type="notify">  The objects you own on the selected parcel of land have been returned back to your inventory.    </notification> @@ -4862,6 +4876,7 @@ The objects you own on the selected parcel of land have been returned back to yo    <notification     icon="notify.tga"     name="OtherObjectsReturned" +   persist="true"     type="notify">  The objects on the selected parcel of land that is owned by [FIRST] [LAST] have been returned to his or her inventory.    </notification> @@ -4869,6 +4884,7 @@ The objects on the selected parcel of land that is owned by [FIRST] [LAST] have    <notification     icon="notify.tga"     name="OtherObjectsReturned2" +   persist="true"     type="notify">  The objects on the selected parcel of land owned by the Resident '[NAME]' have been returned to their owner.    </notification> @@ -4876,6 +4892,7 @@ The objects on the selected parcel of land owned by the Resident '[NAME]&ap    <notification     icon="notify.tga"     name="GroupObjectsReturned" +   persist="true"     type="notify">  The objects on the selected parcel of land shared with the group [GROUPNAME] have been returned back to their owner's inventory.  Transferable deeded objects have been returned to their previous owners. @@ -4885,6 +4902,7 @@ Non-transferable objects that are deeded to the group have been deleted.    <notification     icon="notify.tga"     name="UnOwnedObjectsReturned" +   persist="true"     type="notify">  The objects on the selected parcel that are NOT owned by you have been returned to their owners.    </notification> @@ -4892,6 +4910,7 @@ The objects on the selected parcel that are NOT owned by you have been returned    <notification     icon="notify.tga"     name="ServerObjectMessage" +   persist="true"     type="notify">  Message from [NAME]:  <nolink>[MSG]</nolink> @@ -4900,6 +4919,7 @@ Message from [NAME]:    <notification     icon="notify.tga"     name="NotSafe" +   persist="true"     type="notify">  This land has damage enabled.  You can be hurt here. If you die, you will be teleported to your home location. @@ -4909,6 +4929,7 @@ You can be hurt here. If you die, you will be teleported to your home location.    <notification     icon="notify.tga"     name="NoFly" +   persist="true"     type="notify">  This area has flying disabled.  You can't fly here. @@ -4918,6 +4939,7 @@ You can't fly here.    <notification     icon="notify.tga"     name="PushRestricted" +   persist="true"     type="notify">  This area does not allow pushing. You can't push others here unless you own the land.      <unique/> @@ -4926,6 +4948,7 @@ This area does not allow pushing. You can't push others here unless you own    <notification     icon="notify.tga"     name="NoVoice" +   persist="true"     type="notify">  This area has voice chat disabled. You won't be able to hear anyone talking.      <unique/> @@ -4934,6 +4957,7 @@ This area has voice chat disabled. You won't be able to hear anyone talking    <notification     icon="notify.tga"     name="NoBuild" +   persist="true"     type="notify">  This area has building disabled. You can't build or rez objects here.      <unique/> @@ -4942,6 +4966,7 @@ This area has building disabled. You can't build or rez objects here.    <notification     icon="notify.tga"     name="ScriptsStopped" +   persist="true"     type="notify">  An administrator has temporarily stopped scripts in this region.    </notification> @@ -4949,6 +4974,7 @@ An administrator has temporarily stopped scripts in this region.    <notification     icon="notify.tga"     name="ScriptsNotRunning" +   persist="true"     type="notify">  This region is not running any scripts.    </notification> @@ -4956,6 +4982,7 @@ This region is not running any scripts.    <notification     icon="notify.tga"     name="NoOutsideScripts" +   persist="true"     type="notify">  This land has outside scripts disabled. @@ -4965,6 +4992,7 @@ No scripts will work here except those belonging to the land owner.    <notification     icon="notify.tga"     name="ClaimPublicLand" +   persist="true"     type="notify">  You can only claim public land in the Region you're in.    </notification> @@ -4972,6 +5000,7 @@ You can only claim public land in the Region you're in.    <notification     icon="notify.tga"     name="RegionTPAccessBlocked" +   persist="true"     type="notify">  You aren't allowed in that Region due to your maturity Rating. You may need to validate your age and/or install the latest Viewer. @@ -4981,6 +5010,7 @@ Please go to the Knowledge Base for details on accessing areas with this maturit    <notification  	icon="notify.tga"  	name="URBannedFromRegion" +   persist="true"  	type="notify">  You are banned from the region.    </notification> @@ -4988,6 +5018,7 @@ You are banned from the region.    <notification  	icon="notify.tga"  	name="NoTeenGridAccess" +   persist="true"  	type="notify">  Your account cannot connect to this teen grid region.    </notification> @@ -4995,6 +5026,7 @@ Your account cannot connect to this teen grid region.    <notification  	icon="notify.tga"  	name="ImproperPaymentStatus" +   persist="true"  	type="notify">  You do not have proper payment status to enter this region.    </notification> @@ -5002,6 +5034,7 @@ You do not have proper payment status to enter this region.    <notification  	icon="notify.tga"  	name="MustGetAgeRgion" +   persist="true"  	type="notify">  You must be age-verified to enter this region.    </notification> @@ -5009,6 +5042,7 @@ You must be age-verified to enter this region.    <notification  	icon="notify.tga"  	name="MustGetAgeParcel" +   persist="true"  	type="notify">  You must be age-verified to enter this parcel.    </notification> @@ -5016,6 +5050,7 @@ You must be age-verified to enter this parcel.    <notification  	icon="notify.tga"  	name="NoDestRegion" +   persist="true"  	type="notify">  No destination region found.    </notification> @@ -5023,6 +5058,7 @@ No destination region found.    <notification  	icon="notify.tga"  	name="NotAllowedInDest" +   persist="true"  	type="notify">  You are not allowed into the destination.    </notification> @@ -5030,6 +5066,7 @@ You are not allowed into the destination.    <notification  	icon="notify.tga"  	name="RegionParcelBan" +   persist="true"  	type="notify">  Cannot region cross into banned parcel. Try another way.    </notification> @@ -5037,6 +5074,7 @@ Cannot region cross into banned parcel. Try another way.    <notification  	icon="notify.tga"  	name="TelehubRedirect" +   persist="true"  	type="notify">  You have been redirected to a telehub.    </notification> @@ -5044,6 +5082,7 @@ You have been redirected to a telehub.    <notification  	icon="notify.tga"  	name="CouldntTPCloser" +   persist="true"  	type="notify">  Could not teleport closer to destination.    </notification> @@ -5051,6 +5090,7 @@ Could not teleport closer to destination.    <notification  	icon="notify.tga"  	name="TPCancelled" +   persist="true"  	type="notify">  Teleport cancelled.    </notification> @@ -5058,6 +5098,7 @@ Teleport cancelled.    <notification  	icon="notify.tga"  	name="FullRegionTryAgain" +   persist="true"  	type="notify">  The region you are attempting to enter is currently full.  Please try again in a few moments. @@ -5066,6 +5107,7 @@ Please try again in a few moments.    <notification  	icon="notify.tga"  	name="GeneralFailure" +   persist="true"  	type="notify">  General failure.    </notification> @@ -5073,6 +5115,7 @@ General failure.    <notification  	icon="notify.tga"  	name="RoutedWrongRegion" +   persist="true"  	type="notify">  Routed to wrong region. Please try again.    </notification> @@ -5080,6 +5123,7 @@ Routed to wrong region. Please try again.    <notification  	icon="notify.tga"  	name="NoValidAgentID" +   persist="true"  	type="notify">  No valid agent id.    </notification> @@ -5087,6 +5131,7 @@ No valid agent id.    <notification  	icon="notify.tga"  	name="NoValidSession" +   persist="true"  	type="notify">  No valid session id.    </notification> @@ -5094,6 +5139,7 @@ No valid session id.    <notification  	icon="notify.tga"  	name="NoValidCircuit" +   persist="true"  	type="notify">  No valid circuit code.    </notification> @@ -5101,6 +5147,7 @@ No valid circuit code.    <notification  	icon="notify.tga"  	name="NoValidTimestamp" +   persist="true"  	type="notify">  No valid timestamp.    </notification> @@ -5108,6 +5155,7 @@ No valid timestamp.    <notification  	icon="notify.tga"  	name="NoPendingConnection" +   persist="true"  	type="notify">  Unable to create pending connection.    </notification> @@ -5115,6 +5163,7 @@ Unable to create pending connection.    <notification  	icon="notify.tga"  	name="InternalUsherError" +   persist="true"  	type="notify">  Internal error attempting to connect agent usher.    </notification> @@ -5122,6 +5171,7 @@ Internal error attempting to connect agent usher.    <notification  	icon="notify.tga"  	name="NoGoodTPDestination" +   persist="true"  	type="notify">  Unable to find a good teleport destination in this region.    </notification> @@ -5129,6 +5179,7 @@ Unable to find a good teleport destination in this region.    <notification  	icon="notify.tga"  	name="InternalErrorRegionResolver" +   persist="true"  	type="notify">  Internal error attempting to activate region resolver.    </notification> @@ -5136,6 +5187,7 @@ Internal error attempting to activate region resolver.    <notification  	icon="notify.tga"  	name="NoValidLanding" +   persist="true"  	type="notify">  A valid landing point could not be found.    </notification> @@ -5143,6 +5195,7 @@ A valid landing point could not be found.    <notification  	icon="notify.tga"  	name="NoValidParcel" +   persist="true"  	type="notify">  No valid parcel could be found.    </notification> @@ -5150,7 +5203,6 @@ No valid parcel could be found.    <notification     icon="notify.tga"     name="ObjectGiveItem" -   persist="true"     type="offer">  An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJECTTYPE]:  [ITEM_SLURL] @@ -5173,7 +5225,6 @@ An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJEC    <notification     icon="notify.tga"     name="UserGiveItem" -   persist="true"     type="offer">  [NAME_SLURL] has given you this [OBJECTTYPE]:  [ITEM_SLURL] @@ -5196,6 +5247,7 @@ An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJEC    <notification     icon="notify.tga"     name="GodMessage" +   persist="true"     type="notify">  [NAME] @@ -5205,6 +5257,7 @@ An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJEC    <notification     icon="notify.tga"     name="JoinGroup" +   persist="true"     type="notify">  [MESSAGE]      <form name="form"> @@ -5226,7 +5279,6 @@ An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJEC    <notification     icon="notify.tga"     name="TeleportOffered" -   persist="true"     type="offer">  [NAME_SLURL] has offered to teleport you to their location: @@ -5254,6 +5306,7 @@ An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJEC    <notification     icon="notify.tga"     name="GotoURL" +   persist="true"     type="notify">  [MESSAGE]  [URL] @@ -5272,7 +5325,6 @@ An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJEC    <notification     icon="notify.tga"     name="OfferFriendship" -   persist="true"     type="offer">  [NAME_SLURL] is offering friendship. @@ -5301,6 +5353,7 @@ An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJEC    <notification     icon="notify.tga"     name="OfferFriendshipNoMessage" +   persist="true"     type="notify">  [NAME] is offering friendship. @@ -5327,6 +5380,7 @@ An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJEC    <notification     icon="notify.tga"     name="FriendshipDeclined" +   persist="true"     type="notify">  [NAME] declined your friendship offer.    </notification> @@ -5348,6 +5402,7 @@ Friendship offer declined.    <notification     icon="notify.tga"     name="OfferCallingCard" +   persist="true"     type="notify">  [FIRST] [LAST] is offering their calling card.  This will add a bookmark in your inventory so you can quickly IM this Resident. @@ -5368,6 +5423,7 @@ This will add a bookmark in your inventory so you can quickly IM this Resident.     name="RegionRestartMinutes"     priority="high"     sound="UISndAlert" +   persist="true"     type="notify">  This region will restart in [MINUTES] minutes.  If you stay in this region you will be logged out. @@ -5378,6 +5434,7 @@ If you stay in this region you will be logged out.     name="RegionRestartSeconds"     priority="high"     sound="UISndAlert" +   persist="true"     type="notify">  This region will restart in [SECONDS] seconds.  If you stay in this region you will be logged out. @@ -5386,6 +5443,7 @@ If you stay in this region you will be logged out.    <notification     icon="notify.tga"     name="LoadWebPage" +   persist="true"     type="notify">  Load web page [URL]? @@ -5407,6 +5465,7 @@ From object: [OBJECTNAME], owner: [NAME]?    <notification     icon="notify.tga"     name="FailedToFindWearableUnnamed" +   persist="true"     type="notify">  Failed to find [TYPE] in database.    </notification> @@ -5414,6 +5473,7 @@ Failed to find [TYPE] in database.    <notification     icon="notify.tga"     name="FailedToFindWearable" +   persist="true"     type="notify">  Failed to find [TYPE] named [DESC] in database.    </notification> @@ -5421,6 +5481,7 @@ Failed to find [TYPE] named [DESC] in database.    <notification     icon="notify.tga"     name="ShareToWebFailed" +   persist="true"     type="notify">      Failed to upload image to web.    </notification> @@ -5428,6 +5489,7 @@ Failed to find [TYPE] named [DESC] in database.    <notification     icon="notify.tga"     name="InvalidWearable" +   persist="true"     type="notify">  The item you are trying to wear uses a feature that your Viewer can't read. Please upgrade your version of [APP_NAME] to wear this item.    </notification> @@ -5435,6 +5497,7 @@ The item you are trying to wear uses a feature that your Viewer can't read.    <notification     icon="notify.tga"     name="ScriptQuestion" +   persist="true"     type="notify">  '[OBJECTNAME]', an object owned by '[NAME]', would like to: @@ -5460,6 +5523,7 @@ Is this OK?     icon="notify.tga"     name="ScriptQuestionCaution"     priority="high" +   persist="true"     type="notify">  An object named '[OBJECTNAME]', owned by '[NAME]' would like to: @@ -5487,6 +5551,7 @@ Grant this request?    <notification     icon="notify.tga"     name="ScriptDialog" +   persist="true"     type="notify">  [FIRST] [LAST]'s '[TITLE]'  [MESSAGE] @@ -5501,6 +5566,7 @@ Grant this request?    <notification     icon="notify.tga"     name="ScriptDialogGroup" +   persist="true"     type="notify">  [GROUPNAME]'s '[TITLE]'  [MESSAGE] @@ -5516,6 +5582,7 @@ Grant this request?    <notification     icon="notify.tga"     name="FirstBalanceIncrease" +   persist="true"     type="notify">  You just received L$[AMOUNT].  Your L$ balance is shown in the upper-right. @@ -5524,6 +5591,7 @@ Your L$ balance is shown in the upper-right.    <notification     icon="notify.tga"     name="FirstBalanceDecrease" +   persist="true"     type="notify">  You just paid L$[AMOUNT].  Your L$ balance is shown in the upper-right. @@ -5533,6 +5601,7 @@ Your L$ balance is shown in the upper-right.    <notification     icon="notify.tga"     name="BuyLindenDollarSuccess" +   persist="true"     type="notify">  Thank you for your payment! @@ -5545,6 +5614,7 @@ The status of your payment can be checked on your Transaction History page on yo    <notification     icon="notify.tga"     name="FirstSit" +   persist="true"     type="notify">  You are sitting.  Use your arrow keys (or AWSD) to look around. @@ -5554,6 +5624,7 @@ Click the 'Stand Up' button to stand.    <notification     icon="notify.tga"     name="FirstMap" +   persist="true"     type="notify">  Click and drag the map to look around.  Double-click to teleport. @@ -5563,6 +5634,7 @@ Use the controls on the right to find things and display different backgrounds.    <notification     icon="notify.tga"     name="FirstBuild" +   persist="true"     type="notify">  You have opened the Build Tools. Every object you see around you was created using these tools.    </notification> @@ -5572,6 +5644,7 @@ You have opened the Build Tools. Every object you see around you was created usi    <notification     icon="notify.tga"     name="FirstLeftClickNoHit" +   persist="true"     type="notify">      Left-clicking interacts with special objects.      If the mouse pointer changes to a hand, you can interact with the object. @@ -5581,6 +5654,7 @@ You have opened the Build Tools. Every object you see around you was created usi    <notification     icon="notify.tga"     name="FirstTeleport" +   persist="true"     type="notify">  You can only teleport to certain areas in this region. The arrow points to your specific destination. Click the arrow to dismiss it.    </notification> @@ -5590,6 +5664,7 @@ You can only teleport to certain areas in this region. The arrow points to your    <notification     icon="notify.tga"     name="FirstOverrideKeys" +   persist="true"     type="notify">  Your movement keys are now being handled by an object.  Try the arrow keys or AWSD to see what they do. @@ -5601,6 +5676,7 @@ Press 'M' to do this.    <notification     icon="notify.tga"     name="FirstAppearance" +   persist="true"     type="notify">  You are editing your Appearance.  Use the arrow keys to look around. @@ -5610,6 +5686,7 @@ When you are done, press 'Save All'.    <notification     icon="notify.tga"     name="FirstInventory" +   persist="true"     type="notify">  This is your Inventory, which contains items you own. @@ -5622,6 +5699,7 @@ This is your Inventory, which contains items you own.    <notification     icon="notify.tga"     name="FirstSandbox" +   persist="true"     type="notify">  This is a sandbox area, and is meant to help Residents learn how to build. @@ -5632,6 +5710,7 @@ Things you build here will be deleted after you leave, so don't forget to r    <notification     icon="notify.tga"     name="FirstFlexible" +   persist="true"     type="notify">  This object is flexible. Flexis must be phantom and not physical.    </notification> @@ -5639,6 +5718,7 @@ This object is flexible. Flexis must be phantom and not physical.    <notification     icon="notify.tga"     name="FirstDebugMenus" +   persist="true"     type="notify">  You opened the Advanced menu. @@ -5651,6 +5731,7 @@ To toggle this menu,    <notification     icon="notify.tga"     name="FirstSculptedPrim" +   persist="true"     type="notify">  You are editing a Sculpted prim. Sculpties require a special texture to define their shape.    </notification> @@ -5660,6 +5741,7 @@ You are editing a Sculpted prim. Sculpties require a special texture to define t    <notification     icon="notify.tga"     name="FirstMedia" +   persist="true"     type="notify">      You have begun playing media.  Media can set to play automatically in the preferences window under Audio / Video. Note that this can be a security risk for media sites you do not trust.    </notification> @@ -5700,6 +5782,7 @@ Click Accept to join the call or Decline to decline the invitation. Click Block    <notification     icon="notify.tga"     name="AutoUnmuteByIM" +   persist="true"     type="notify">  [FIRST] [LAST] was sent an instant message and has been automatically unblocked.    </notification> @@ -5707,6 +5790,7 @@ Click Accept to join the call or Decline to decline the invitation. Click Block    <notification     icon="notify.tga"     name="AutoUnmuteByMoney" +   persist="true"     type="notify">  [FIRST] [LAST] was given money and has been automatically unblocked.    </notification> @@ -5714,6 +5798,7 @@ Click Accept to join the call or Decline to decline the invitation. Click Block    <notification     icon="notify.tga"     name="AutoUnmuteByInventory" +   persist="true"     type="notify">  [FIRST] [LAST] was offered inventory and has been automatically unblocked.    </notification> diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml index e412c491fd..7b11538ccc 100644 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml @@ -1,28 +1,30 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel - mouse_opaque="true"   background_visible="true"   bg_alpha_color="DkGray"   bg_opaque_color="DkGray" + chrome="true"   follows="left|bottom|right"   height="33"   layout="topleft"   left="0"   name="bottom_tray"   top="28" - chrome="true" - border_visible="false"   width="1000"> -  <string name="SpeakBtnToolTip">Turns microphone on/off</string> -  <string name="VoiceControlBtnToolTip">Shows/hides voice control panel</string> +    <string +     name="SpeakBtnToolTip" +     value="Turns microphone on/off" /> +    <string +     name="VoiceControlBtnToolTip" +     value="Shows/hides voice control panel" />      <layout_stack -     mouse_opaque="false"       border_size="0"       clip="false"       follows="all"       height="28"       layout="topleft"       left="0" +     mouse_opaque="false"       name="toolbar_stack"       orientation="horizontal"       top="0" @@ -33,288 +35,234 @@           height="10"           image_name="spacer24.tga"           layout="topleft" -         min_width="2"           left="0" +         min_width="2"           top="0"           width="2" />          <layout_panel - 	mouse_opaque="false"           auto_resize="false" +         filename="panel_nearby_chat_bar.xml"           follows="left|right"           height="28"           layout="topleft"           left="0" -         min_height="23" -         width="310" -         top="4"           max_width="320" +         min_height="23"           min_width="216" +         mouse_opaque="false"           name="chat_bar" +         top="4"           user_resize="false" -         filename="panel_nearby_chat_bar.xml" /> +         width="310" />          <layout_panel -         mouse_opaque="false"           auto_resize="false"           follows="right"           height="28"           layout="topleft"           min_height="28" -         width="105" -         top_delta="0" -         min_width="54" +         min_width="57" +         mouse_opaque="false"           name="speak_panel" -         user_resize="false"> -          <talk_button -           follows="left|right" -           height="23" -           speak_button.tab_stop="true" -           show_button.tab_stop="true" -           layout="topleft" -           left="0" -           name="talk" -           top="5" -          width="105"> -            <!-- do not remove halign attribute with default value. otherwise it can't be overridden in other locales. -             & pad_right is default value for long label which can be right aligned. See EXT-6318 --> -  <speak_button -    halign="center" -    name="speak_btn" -    label="Speak" -    label_selected="Speak" -    pad_right="22" -    use_ellipses="true" -    /> -              <show_button> -                  <show_button.init_callback -                   function="Button.SetDockableFloaterToggle" -                   parameter="voice_controls" /> -              </show_button> -          </talk_button> +         top_delta="0" +         user_resize="false" +         width="108"> +            <talk_button +             follows="left|right" +             height="23" +             layout="topleft" +             left="0" +             name="talk" +             top="5" +             width="105"> +                <show_button +                 tab_stop="true"> +                    <init_callback +                     function="Button.SetDockableFloaterToggle" +                     parameter="voice_controls" /> +                </show_button> +                <!-- do not remove halign attribute with default value. otherwise it can't be overridden in other locales. +                 & pad_right is default value for long label which can be right aligned. See EXT-6318 --> +                <speak_button +                 halign="center" +                 label="Speak" +                 label_selected="Speak" +                 name="speak_btn" +                 pad_right="22" +                 tab_stop="true" +                 use_ellipses="true" /> +            </talk_button>          </layout_panel> -        <icon -            auto_resize="false" -            follows="left|right" -            height="10" -            image_name="spacer24.tga" -            layout="topleft" -            left="0" -            name="after_speak_panel" -            min_width="3" -            top="0" -            width="3"/>          <layout_panel -         mouse_opaque="false"           auto_resize="false"           follows="right"           height="28"           layout="topleft"           min_height="28" -         width="82" -         top_delta="0" -         min_width="62" +         min_width="65" +         mouse_opaque="false"           name="gesture_panel" -         user_resize="false"> -         <gesture_combo_list -          follows="left|right" -          height="23" -          label="Gesture" -          layout="topleft" -          name="Gesture" -          left="0" -          top="5" -          width="82" -          tool_tip="Shows/hides gestures"> -             <gesture_combo_list.combo_button -              pad_right="10" -              use_ellipses="true" /> -             <gesture_combo_list.combo_list -              page_lines="17" /> -         </gesture_combo_list> +         top_delta="0" +         user_resize="false" +         width="85"> +            <gesture_combo_list +             follows="left|right" +             height="23" +             label="Gesture" +             layout="topleft" +             left="0" +             name="Gesture" +             tool_tip="Shows/hides gestures" +             top="5" +             width="82"> +                <combo_button +                 pad_right="10" +                 use_ellipses="true" /> +                <combo_list +                 page_lines="17" /> +            </gesture_combo_list>          </layout_panel> -		 <icon -         auto_resize="false" -         color="0 0 0 0" -         follows="left|right" -         height="10" -         image_name="spacer24.tga" -         layout="topleft" -         left="0" -         min_width="3" -         name="after_gesture_panel" -         top="0" -         width="3"/>          <layout_panel -         mouse_opaque="false"           auto_resize="false"           follows="right"           height="28"           layout="topleft"           min_height="28" +         min_width="52" +         mouse_opaque="false"           name="movement_panel"           user_resize="false" -         width="80" -         min_width="49"> +         width="83">              <button -                 image_selected="PushButton_Selected_Press" -                 image_pressed="PushButton_Press" -		 image_pressed_selected="PushButton_Selected_Press"               follows="left|right"               height="23" -             use_ellipses="true" +             image_pressed="PushButton_Press" +             image_pressed_selected="PushButton_Selected_Press" +             image_selected="PushButton_Selected_Press"               is_toggle="true"               label="Move"               layout="topleft"               name="movement_btn"               tool_tip="Shows/hides movement controls"               top="5" +             use_ellipses="true"               width="80"> -                <button.init_callback +                <init_callback                   function="Button.SetDockableFloaterToggle"                   parameter="moveview" />              </button>          </layout_panel> -         <icon -         auto_resize="false" -         color="0 0 0 0" -         follows="left|right" -         height="10" -         image_name="spacer24.tga" -         layout="topleft" -         left="0" -         min_width="3" -         name="after_movement_panel" -         top="0" -         width="3"/>          <layout_panel -         mouse_opaque="false"           auto_resize="false"           follows="left|right"           height="28"           layout="topleft"           min_height="28" -         min_width="49" +         min_width="52" +         mouse_opaque="false"           name="cam_panel"           user_resize="false" -         width="80"> +         width="83">              <button -                 image_selected="PushButton_Selected_Press" -                 image_pressed="PushButton_Press" -		 image_pressed_selected="PushButton_Selected_Press"               follows="left|right"               height="23" -             use_ellipses="true" +             image_pressed="PushButton_Press" +             image_pressed_selected="PushButton_Selected_Press" +             image_selected="PushButton_Selected_Press"               is_toggle="true"               label="View"               layout="topleft"               left="0" +             name="camera_btn"               tool_tip="Shows/hides camera controls"               top="5" -             name="camera_btn" +             use_ellipses="true"               width="80"> -                <button.init_callback +                <init_callback                   function="Button.SetDockableFloaterToggle"                   parameter="camera" />              </button>          </layout_panel> -        <icon -         auto_resize="false" -         color="0 0 0 0" -         follows="left|right" -         height="10" -         image_name="spacer24.tga" -         layout="topleft" -         left="0" -         min_width="3" -         name="after_cam_panel" -         top="0" -         width="3"/>          <layout_panel -         mouse_opaque="false"           auto_resize="false"           follows="left|right"           height="28"           layout="topleft"           min_width="40" +         mouse_opaque="false"           name="snapshot_panel"           width="40">              <button -			 follows="left|right" +             follows="left|right"               height="23" -             image_selected="PushButton_Selected_Press" +             image_overlay="Snapshot_Off"               image_pressed="PushButton_Press"               image_pressed_selected="PushButton_Selected_Press" -             left="0" -             label="" +             image_selected="PushButton_Selected_Press" +             is_toggle="true"               layout="topleft" +             left="0"               name="snapshots" -             width="36" +             tool_tip="Take snapshot"               top="5" -             is_toggle="true" -             image_overlay="Snapshot_Off" -             tool_tip="Take snapshot"> -				<button.init_callback -				 function="Button.SetFloaterToggle" -				 parameter="snapshot" /> -			</button> -		</layout_panel> +             width="36"> +                <init_callback +                 function="Button.SetFloaterToggle" +                 parameter="snapshot" /> +            </button> +        </layout_panel>          <layout_panel -         mouse_opaque="false"           follows="left|right"           height="30"           layout="topleft" -         top="0" -         name="chiclet_list_panel" -         width="189"           min_width="95" +         mouse_opaque="false" +         name="chiclet_list_panel" +         top="0"           user_resize="false" -         auto_resize="true"> +         width="189">  <!--*NOTE: min_width of the chiclet_panel (chiclet_list) must be the same  as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly. EXT-991-->              <chiclet_panel -	    mouse_opaque="false" +             chiclet_padding="4"               follows="left|right"               height="24"               layout="topleft"               left="1"               min_width="95" +             mouse_opaque="false"               name="chiclet_list"               top="7" -             chiclet_padding="4" -             scrolling_offset="40"               width="189">                  <button                   auto_resize="true"                   follows="right"                   height="29" +                 image_hover_selected="SegmentedBtn_Left_Over" +                 image_hover_unselected="SegmentedBtn_Left_Over" +                 image_overlay="Arrow_Small_Left" +                 image_pressed="SegmentedBtn_Left_Press" +                 image_pressed_selected="SegmentedBtn_Left_Press"                   image_selected="SegmentedBtn_Left_Off"                   image_unselected="SegmentedBtn_Left_Off" -		 image_hover_selected="SegmentedBtn_Left_Over" -		 image_hover_unselected="SegmentedBtn_Left_Over" -		 image_pressed="SegmentedBtn_Left_Press" -		 image_pressed_selected="SegmentedBtn_Left_Press" -		 image_overlay="Arrow_Small_Left"                   layout="topleft"                   name="chicklet_left_scroll_button" -        scale_image="true"                   tab_stop="false"                   top="-4" -                 right_pad="2"                   visible="false"                   width="7" />                  <button                   auto_resize="true"                   follows="right"                   height="29" +                 image_hover_selected="SegmentedBtn_Right_Over" +                 image_hover_unselected="SegmentedBtn_Right_Over" +                 image_overlay="Arrow_Small_Right" +                 image_pressed="SegmentedBtn_Right_Press" +                 image_pressed_selected="SegmentedBtn_Right_Press"                   image_selected="SegmentedBtn_Right_Off"                   image_unselected="SegmentedBtn_Right_Off" -		 image_hover_selected="SegmentedBtn_Right_Over" -		 image_hover_unselected="SegmentedBtn_Right_Over" -		 image_pressed="SegmentedBtn_Right_Press" -		 image_pressed_selected="SegmentedBtn_Right_Press" -		 image_overlay="Arrow_Small_Right"                   layout="topleft"                   name="chicklet_right_scroll_button" -        scale_image="true"                   tab_stop="false"                   top="-4"                   visible="false" @@ -332,24 +280,24 @@ as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly.           min_width="4"           name="DUMMY"           top="0" -         width="4"/> +         width="4" />          <layout_panel           auto_resize="false"           follows="right"           height="28"           layout="topleft"           min_height="28" -         top="0" -         name="im_well_panel" -         width="37"           min_width="37" -         user_resize="false"> +         name="im_well_panel" +         top="0" +         user_resize="false" +         width="37">              <chiclet_im_well -             max_displayed_count="99"               follows="right"               height="28"               layout="topleft"               left="0" +             max_displayed_count="99"               name="im_well"               top="0"               width="35"> @@ -375,8 +323,8 @@ image_pressed_selected  "Lit" + "Selected" - there are new messages and the Well                   left="0"                   name="Unread IM messages"                   tool_tip="Conversations" -                 width="34" > -                    <button.init_callback +                 width="34"> +                    <init_callback                       function="Button.SetDockableFloaterToggle"                       parameter="im_well_window" />                  </button> @@ -388,11 +336,11 @@ image_pressed_selected  "Lit" + "Selected" - there are new messages and the Well           height="28"           layout="topleft"           min_height="28" -         top="0" -         name="notification_well_panel" -         width="37"           min_width="37" -         user_resize="false"> +         name="notification_well_panel" +         top="0" +         user_resize="false" +         width="37">              <chiclet_notification               follows="right"               height="23" @@ -402,27 +350,27 @@ image_pressed_selected  "Lit" + "Selected" - there are new messages and the Well               name="notification_well"               top="5"               width="35"> -              <button +                <button +                 auto_resize="true"                   bottom_pad="3" +                 follows="right" +                 halign="center" +                 height="23" +                 image_overlay="Notices_Unread" +                 image_overlay_alignment="center"                   image_pressed="WellButton_Lit"                   image_pressed_selected="WellButton_Lit_Selected"                   image_selected="PushButton_Press" -              auto_resize="true" -               halign="center" -               height="23" -               follows="right" -                label_color="Black" -               left="0" -               name="Unread" -               image_overlay="Notices_Unread" -               image_overlay_alignment="center" -               tool_tip="Notifications" -               width="34" > -                  <button.init_callback -                   function="Button.SetDockableFloaterToggle" -                   parameter="notification_well_window" /> -              </button> -	    </chiclet_notification> +                 label_color="Black" +                 left="0" +                 name="Unread" +                 tool_tip="Notifications" +                 width="34"> +                    <init_callback +                     function="Button.SetDockableFloaterToggle" +                     parameter="notification_well_window" /> +                </button> +            </chiclet_notification>          </layout_panel>      </layout_stack>  </panel> diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml index 6a212306d6..7961664516 100644 --- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml @@ -15,6 +15,12 @@      <string       name="No Outfit"       value="No Outfit"/> +    <string +     name="unsaved_changes" +     value="Unsaved Changes"/> +    <string +     name="now_editing" +     value="Now Editing"/>  	<panel.string  		name="not_available"> @@ -209,124 +215,120 @@           tab_group="2"           user_resize="true"           visible="false"> - -            <!-- *NOTE is not used, invisible and disabled --> -            <filter_editor -             background_image="TextField_Search_Off" -             enabled="false" -             follows="left|top|right" -             font="SansSerif" -             label="Filter" +         	<text +             follows="top|left|right" +             font="SansSerifBold" +             height="13"               layout="topleft"               left="5" -             width="290" +             name="add_to_outfit_label" +             text_color="LtGray" +             top="3" +             value="Add to Outfit:" +             use_ellipses="true" +             width="150" /> +            <button +             follows="top|left|right"               height="20" -             name="look_item_filter" -             text_color="black" -             text_pad_left="25" -             visible="false"/> +             image_hover_unselected="Toolbar_Middle_Over" +             image_overlay="" +             image_selected="Toolbar_Middle_Selected" +             image_unselected="Toolbar_Middle_Off" +             is_toggle="true" +             label="O" +             layout="topleft" +             left_pad="5" +             name="filter_button" +             top="3" +             width="20" /> +            <combo_box +             follows="top|left|right" +             height="20" +             layout="topleft" +             right="-5" +             name="filter_wearables_combobox" +             top="2" +             width="110"/>              <layout_stack               animate="true"               follows="all" -             height="25" -             width="300" +             height="155" +             width="311"               layout="topleft" -             orientation="horizontal"               name="filter_panels" -             top="0" +             top_pad="5"               left="0">                  <layout_panel +                 auto_resize="true"                   layout="topleft"                   follows="left|top|right" -                 height="25" +                 height="30"                   label="IM Control Panel" -                 name="filter_button_panel" -                 width="150" -                 auto_resize="true" -                 user_resize="false"> -                    <text -                     follows="top|left|right" -                     font="SansSerifBold" -                     height="13" -                     layout="topleft" -                     left="5" -                     name="add_to_outfit_label" -                     text_color="LtGray" -                     top="3" -                     value="Add to Outfit:" -                     use_ellipses="true" -                     width="270" /> -                    <button -                     follows="top|right" -                     height="20" -                     image_hover_unselected="Toolbar_Middle_Over" -                     image_overlay="" -                     image_selected="Toolbar_Middle_Selected" -                     image_unselected="Toolbar_Middle_Off" -                     is_toggle="true" -                     label="O" -                     layout="topleft" -                     right="-1" -                     name="filter_button" -                     top="3" -                     width="20" /> +                 name="filter_panel" +                 width="311" +                 user_resize="false" +                 visible="false"> +                    <filter_editor +		             background_image="TextField_Search_Off" +		             enabled="true" +		             follows="left|top|right" +		             font="SansSerif" +		             label="Filter" +		             layout="topleft" +		             left="5" +		             width="290" +		             height="25" +		             name="look_item_filter" +		             text_color="black" +		             text_pad_left="25" +		             visible="true"/>                  </layout_panel>                  <layout_panel                   auto_resize="true" -                 height="25" +                 height="145"                   min_width="130" -                 name="filter_combobox_panel" -                 width="150" -                 user_resize="false" -                 visible="false"> -                    <combo_box -                     follows="top|left|right" -                     height="20" -                     layout="topleft" -                     right="-5" -                     name="filter_wearables_combobox" -                     top="0" -                     width="130"/> +                 name="inventory_panel" +                 width="311" +                 user_resize="true"> +                    <inventory_panel +		             allow_multi_select="false" +		             border="false" +		             follows="left|top|right|bottom" +		             height="130" +		             layout="topleft" +		             left="0" +		             mouse_opaque="false" +		             name="inventory_items" +		             top_pad="5" +		             width="311" +		             visible="false"/> +		            <panel +		             name="filtered_wearables_panel" +		             background_opaque="true" +		             background_visible="true" +		             layout="topleft" +		             follows="left|top|right|bottom" +		             border="false" +		             height="130" +		             left="0" +		             mouse_opaque="false" +		             width="311" +		             top_delta="0" +		             visible="true"> +		             <wearable_items_list +		              name="filtered_wearables_list" +		              allow_select="true" +		              layout="topleft" +		              follows="all" +		              width="311" +		              height="130" +		              left="0" +		              top="0"/> +		            </panel>                  </layout_panel>              </layout_stack> -            <inventory_panel -             allow_multi_select="false" -             border="false" -             follows="left|top|right|bottom" -             height="155" -             layout="topleft" -             left="0" -             mouse_opaque="false" -             name="inventory_items" -             top_pad="5" -             width="300"/> - -            <panel -             name="filtered_wearables_panel" -             background_opaque="true" -             background_visible="true" -             layout="topleft" -             follows="left|top|right|bottom" -             border="false" -             height="155" -             left="0" -             mouse_opaque="false" -             width="300" -             top_delta="0" -             visible="false"> -             <wearable_items_list -              name="filtered_wearables_list" -              allow_select="true" -              layout="topleft" -              follows="all" -              width="300" -              height="155" -              left="0" -              top="0" /> -            </panel> -              <panel               background_visible="true"               bevel_style="none" @@ -357,6 +359,7 @@                   image_overlay=""                   image_selected="Toolbar_Middle_Selected"                   image_unselected="Toolbar_Middle_Off" +                 is_toggle="true"                   label="F"                   layout="topleft"                   left_pad="1" @@ -370,6 +373,7 @@                   image_overlay=""                   image_selected="Toolbar_Middle_Selected"                   image_unselected="Toolbar_Middle_Off" +                 is_toggle="true"                   label="L"                   layout="topleft"                   left_pad="1" diff --git a/indra/newview/skins/default/xui/it/floater_animation_preview.xml b/indra/newview/skins/default/xui/it/floater_animation_preview.xml index 5472e32544..77341cad63 100644 --- a/indra/newview/skins/default/xui/it/floater_animation_preview.xml +++ b/indra/newview/skins/default/xui/it/floater_animation_preview.xml @@ -153,7 +153,7 @@ La lunghezza massima è [MAX_LENGTH] secondi.  		<item label="Accigliato" name="Frown" value="Accigliato"/>  		<item label="Bacio" name="Kiss" value="Bacio"/>  		<item label="Risata" name="Laugh" value="Risata"/> -		<item label="Plllppt" name="Plllppt" value="Plllppt"/> +		<item label="Plllppt" name="Plllppt" value="Linguaccia"/>  		<item label="Repulsione" name="Repulsed" value="Repulsione"/>  		<item label="Triste" name="Sad" value="Triste"/>  		<item label="Scrollata di spalle" name="Shrug" value="Scrollata di spalle"/> diff --git a/indra/newview/skins/default/xui/it/floater_tools.xml b/indra/newview/skins/default/xui/it/floater_tools.xml index 1c611915dc..cd16246f0f 100644 --- a/indra/newview/skins/default/xui/it/floater_tools.xml +++ b/indra/newview/skins/default/xui/it/floater_tools.xml @@ -39,11 +39,11 @@  	<floater.string name="grid_attachment_text">  		Accessorio  	</floater.string> -	<button label="" label_selected="" name="button focus" tool_tip="Focus"/> -	<button label="" label_selected="" name="button move" tool_tip="Muoviti"/> +	<button label="" label_selected="" name="button focus" tool_tip="Ingrandisci"/> +	<button label="" label_selected="" name="button move" tool_tip="Sposta"/>  	<button label="" label_selected="" name="button edit" tool_tip="Modifica"/>  	<button label="" label_selected="" name="button create" tool_tip="Crea"/> -	<button label="" label_selected="" name="button land" tool_tip="Terra"/> +	<button label="" label_selected="" name="button land" tool_tip="Terreno"/>  	<text name="text status">  		Trascina per muovere, trascina+maiuscolo per copiare  	</text> @@ -397,7 +397,7 @@  			</text>  			<check_box label="Massima luminosità" name="checkbox fullbright"/>  			<text name="tex gen"> -				Applicazione della texture +				Applicazione  			</text>  			<combo_box name="combobox texgen">  				<combo_box.item label="Default" name="Default"/> diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml index 49a1a1a746..a5923ac42b 100644 --- a/indra/newview/skins/default/xui/it/menu_viewer.xml +++ b/indra/newview/skins/default/xui/it/menu_viewer.xml @@ -64,7 +64,7 @@  			<menu_item_call label="Strumento Ingrandisci" name="Focus"/>  			<menu_item_call label="Strumento Movimento" name="Move"/>  			<menu_item_call label="Strumento Modifica" name="Edit"/> -			<menu_item_call label="Crea strumento" name="Create"/> +			<menu_item_call label="Strumento Crea" name="Create"/>  			<menu_item_call label="Strumento Terreno" name="Land"/>  		</menu>  		<menu_item_call label="Collegamento" name="Link"/> @@ -182,7 +182,7 @@  				<menu_item_call label="Strumento Ingrandisci" name="Focus"/>  				<menu_item_call label="Strumento Movimento" name="Move"/>  				<menu_item_call label="Strumento Modifica" name="Edit"/> -				<menu_item_call label="Crea strumento" name="Create"/> +				<menu_item_call label="Strumento Crea" name="Create"/>  				<menu_item_call label="Strumento Terreno" name="Land"/>  			</menu>  			<menu_item_call label="Zoom avanti" name="Zoom In"/> diff --git a/indra/newview/skins/default/xui/it/panel_group_general.xml b/indra/newview/skins/default/xui/it/panel_group_general.xml index ffcbdca6f7..49baa73811 100644 --- a/indra/newview/skins/default/xui/it/panel_group_general.xml +++ b/indra/newview/skins/default/xui/it/panel_group_general.xml @@ -46,7 +46,7 @@ Muovi il tuo mouse sopra le opzioni per maggiore aiuto.  		<check_box label="Chiunque può aderire" name="open_enrollement" tool_tip="Imposta se questo gruppo permette ai nuovi membri di aderire senza essere invitati."/>  		<check_box label="Quota di adesione" name="check_enrollment_fee" tool_tip="Imposta se richiedere una tassa d'iscrizione per aderire al gruppo"/>  		<spinner label="L$" left_delta="136" name="spin_enrollment_fee" tool_tip="I nuovi soci devono pagare questa tassa d'iscrizione quando è selezionata." width="60"/> -		<combo_box name="group_mature_check" tool_tip="Imposta se le informazioni sul tuo gruppo sono da considerarsi Mature."> +		<combo_box name="group_mature_check" tool_tip="Imposta se le informazioni sul tuo gruppo sono da considerarsi di tipo Moderato.">  			<combo_item name="select_mature">  				- Seleziona categoria di accesso -  			</combo_item> diff --git a/indra/newview/skins/default/xui/it/panel_region_general.xml b/indra/newview/skins/default/xui/it/panel_region_general.xml index a30fadcaa6..6ca5dd878e 100644 --- a/indra/newview/skins/default/xui/it/panel_region_general.xml +++ b/indra/newview/skins/default/xui/it/panel_region_general.xml @@ -30,7 +30,7 @@  	<text label="Maturità" name="access_text" width="120">  		Categoria di accesso:  	</text> -	<icons_combo_box label="Mature" left="126" name="access_combo" width="74"> +	<icons_combo_box label="Moderato" left="126" name="access_combo" width="74">  		<icons_combo_box.item label="Adulti" name="Adult" value="42"/>  		<icons_combo_box.item label="Moderato" name="Mature" value="21"/>  		<icons_combo_box.item label="Generale" name="PG" value="13"/> | 
