diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/cmake/00-Common.cmake | 1 | ||||
| -rw-r--r-- | indra/llinventory/llparcel.cpp | 67 | ||||
| -rw-r--r-- | indra/llinventory/llparcel.h | 7 | ||||
| -rw-r--r-- | indra/newview/llmutelist.cpp | 25 | ||||
| -rw-r--r-- | indra/newview/llstatusbar.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/lltoastnotifypanel.cpp | 16 | ||||
| -rw-r--r-- | indra/newview/llviewerparcelmgr.cpp | 64 | ||||
| -rw-r--r-- | indra/newview/llviewerparcelmgr.h | 5 | ||||
| -rw-r--r-- | indra/newview/llviewerregion.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 15 | ||||
| -rw-r--r-- | indra/newview/pipeline.h | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/de/panel_volume_pulldown.xml | 15 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_status_bar.xml | 1 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_volume_pulldown.xml | 318 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/strings.xml | 4 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/es/panel_volume_pulldown.xml | 14 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/it/panel_volume_pulldown.xml | 15 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml | 14 | 
18 files changed, 393 insertions, 193 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 98eeed09b3..303f7e5608 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -51,6 +51,7 @@ if (WINDOWS)    set(CMAKE_CXX_FLAGS_RELEASE        "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP /Ob2 -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"        CACHE STRING "C++ compiler release options" FORCE) +  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")    set(CMAKE_CXX_STANDARD_LIBRARIES "")    set(CMAKE_C_STANDARD_LIBRARIES "") diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp index 433076c7a9..a871bcbb25 100644 --- a/indra/llinventory/llparcel.cpp +++ b/indra/llinventory/llparcel.cpp @@ -193,8 +193,6 @@ void LLParcel::init(const LLUUID &owner_id,  	mMediaWidth = 0;  	mMediaHeight = 0;  	setMediaCurrentURL(LLStringUtil::null); -	mMediaURLFilterEnable = FALSE; -	mMediaURLFilterList = LLSD::emptyArray();  	mMediaAllowNavigate = TRUE;  	mMediaURLTimeout = 0.0f;  	mMediaPreventCameraZoom = FALSE; @@ -336,38 +334,6 @@ void LLParcel::setMediaURLResetTimer(F32 time)  	mMediaResetTimer.setTimerExpirySec(time);  } -void LLParcel::setMediaURLFilterList(LLSD list) -{ -	// sanity check LLSD -	// must be array of strings -	if (!list.isArray()) -	{ -		return; -	} - -	for (S32 i = 0; i < list.size(); i++) -	{ -		if (!list[i].isString()) -			return; -	} - -	// can't be too big -	const S32 MAX_SIZE = 50; -	if (list.size() > MAX_SIZE) -	{ -		LLSD new_list = LLSD::emptyArray(); - -		for (S32 i = 0; i < llmin(list.size(), MAX_SIZE); i++) -		{ -			new_list.append(list[i]); -		} - -		list = new_list; -	} -	 -	mMediaURLFilterList = list; -} -  // virtual  void LLParcel::setLocalID(S32 local_id)  { @@ -622,34 +588,6 @@ BOOL LLParcel::importAccessEntry(std::istream& input_stream, LLAccessEntry* entr      return input_stream.good();  } -BOOL LLParcel::importMediaURLFilter(std::istream& input_stream, std::string& url) -{ -	skip_to_end_of_next_keyword("{", input_stream); - -	while(input_stream.good()) -	{ -		skip_comments_and_emptyspace(input_stream); -		std::string line, keyword, value; -		get_line(line, input_stream, MAX_STRING); -		get_keyword_and_value(keyword, value, line); - -		if ("}" == keyword) -		{ -			break; -		} -		else if ("url" == keyword) -		{ -			url = value; -		} -		else -		{ -			llwarns << "Unknown keyword in parcel media url filter section: <" -					<< keyword << ">" << llendl; -		} -	} -	return input_stream.good(); -} -  // Assumes we are in a block "ParcelData"  void LLParcel::packMessage(LLMessageSystem* msg)  { @@ -696,8 +634,6 @@ void LLParcel::packMessage(LLSD& msg)  	msg["media_allow_navigate"] = getMediaAllowNavigate();  	msg["media_prevent_camera_zoom"] = getMediaPreventCameraZoom();  	msg["media_url_timeout"] = getMediaURLTimeout(); -	msg["media_url_filter_enable"] = getMediaURLFilterEnable(); -	msg["media_url_filter_list"] = getMediaURLFilterList();  	msg["group_id"] = getGroupID();  	msg["pass_price"] = mPassPrice;  	msg["pass_hours"] = mPassHours; @@ -789,7 +725,6 @@ void LLParcel::unpackMessage(LLMessageSystem* msg)  		msg->getString("MediaLinkSharing", "MediaCurrentURL", buffer);  		setMediaCurrentURL(buffer);  		msg->getU8 ( "MediaLinkSharing", "MediaAllowNavigate", mMediaAllowNavigate ); -		msg->getU8 ( "MediaLinkSharing", "MediaURLFilterEnable", mMediaURLFilterEnable );  		msg->getU8 ( "MediaLinkSharing", "MediaPreventCameraZoom", mMediaPreventCameraZoom );  		msg->getF32( "MediaLinkSharing", "MediaURLTimeout", mMediaURLTimeout);  	} @@ -1250,8 +1185,6 @@ void LLParcel::clearParcel()  	mMediaWidth = 0;  	mMediaHeight = 0;  	setMediaCurrentURL(LLStringUtil::null); -	setMediaURLFilterList(LLSD::emptyArray()); -	setMediaURLFilterEnable(FALSE);  	setMediaAllowNavigate(TRUE);  	setMediaPreventCameraZoom(FALSE);  	setMediaURLTimeout(0.0f); diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h index e36d0b20d2..7d7615bf51 100644 --- a/indra/llinventory/llparcel.h +++ b/indra/llinventory/llparcel.h @@ -247,8 +247,6 @@ public:  	void setMediaWidth(S32 width);  	void setMediaHeight(S32 height);  	void setMediaCurrentURL(const std::string& url); -	void setMediaURLFilterEnable(U8 enable) { mMediaURLFilterEnable = enable; } -	void setMediaURLFilterList(LLSD list);  	void setMediaAllowNavigate(U8 enable) { mMediaAllowNavigate = enable; }  	void setMediaURLTimeout(F32 timeout) { mMediaURLTimeout = timeout; }  	void setMediaPreventCameraZoom(U8 enable) { mMediaPreventCameraZoom = enable; } @@ -310,7 +308,6 @@ public:  //	BOOL	importStream(std::istream& input_stream);  	BOOL	importAccessEntry(std::istream& input_stream, LLAccessEntry* entry); -	BOOL    importMediaURLFilter(std::istream& input_stream, std::string& url);  	// BOOL	exportStream(std::ostream& output_stream);  	void	packMessage(LLMessageSystem* msg); @@ -354,8 +351,6 @@ public:  	U8				getMediaAutoScale() const	{ return mMediaAutoScale; }  	U8              getMediaLoop() const        { return mMediaLoop; }  	const std::string&  getMediaCurrentURL() const { return mMediaCurrentURL; } -	U8              getMediaURLFilterEnable() const   { return mMediaURLFilterEnable; } -	LLSD            getMediaURLFilterList() const     { return mMediaURLFilterList; }  	U8              getMediaAllowNavigate() const { return mMediaAllowNavigate; }  	F32				getMediaURLTimeout() const { return mMediaURLTimeout; }  	U8              getMediaPreventCameraZoom() const { return mMediaPreventCameraZoom; } @@ -651,8 +646,6 @@ protected:  	U8                  mMediaLoop;  	std::string         mMediaCurrentURL;  	LLUUID				mMediaID; -	U8                  mMediaURLFilterEnable; -	LLSD                mMediaURLFilterList;  	U8                  mMediaAllowNavigate;  	U8					mMediaPreventCameraZoom;  	F32					mMediaURLTimeout; diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp index a7059eb519..54522bb7f6 100644 --- a/indra/newview/llmutelist.cpp +++ b/indra/newview/llmutelist.cpp @@ -44,6 +44,8 @@  #include "llmutelist.h" +#include "pipeline.h" +  #include <boost/tokenizer.hpp>  #include "lldispatcher.h" @@ -192,6 +194,23 @@ BOOL LLMuteList::isLinden(const std::string& name) const  	return last_name == "Linden";  } +static LLVOAvatar* find_avatar(const LLUUID& id) +{ +	LLViewerObject *obj = gObjectList.findObject(id); +	while (obj && obj->isAttachment()) +	{ +		obj = (LLViewerObject *)obj->getParent(); +	} + +	if (obj && obj->isAvatar()) +	{ +		return (LLVOAvatar*)obj; +	} +	else +	{ +		return NULL; +	} +}  BOOL LLMuteList::add(const LLMute& mute, U32 flags)  { @@ -288,6 +307,12 @@ BOOL LLMuteList::add(const LLMute& mute, U32 flags)  						LLViewerPartSim::getInstance()->clearParticlesByOwnerID(localmute.mID);  					}  				} +				//mute local lights that are attached to the avatar +				LLVOAvatar *avatarp = find_avatar(localmute.mID); +				if (avatarp) +				{ +					LLPipeline::removeMutedAVsLights(avatarp); +				}  				return TRUE;  			}  		} diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 89240c982f..ff69c6e9fd 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -469,7 +469,7 @@ void LLStatusBar::onMouseEnterVolume()  	LLRect vol_btn_rect = volbtn->getRect();  	LLRect volume_pulldown_rect = mPanelVolumePulldown->getRect();  	volume_pulldown_rect.setLeftTopAndSize(vol_btn_rect.mLeft - -	     (volume_pulldown_rect.getWidth() - vol_btn_rect.getWidth())/2, +	     (volume_pulldown_rect.getWidth() - vol_btn_rect.getWidth()),  			       vol_btn_rect.mBottom,  			       volume_pulldown_rect.getWidth(),  			       volume_pulldown_rect.getHeight()); diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index a8060649ba..acbb5cf67d 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -334,32 +334,24 @@ void LLToastNotifyPanel::updateButtonsLayout(const std::vector<index_button_pair  	}  	U32 ignore_btn_width = 0; +	U32 mute_btn_pad = 0;  	if (mIsScriptDialog && ignore_btn != NULL)  	{  		LLRect ignore_btn_rect(ignore_btn->getRect()); -		S32 buttons_per_row = max_width / BUTTON_WIDTH; //assume that h_pad far less than BUTTON_WIDTH -		S32 ignore_btn_left = buttons_per_row * BUTTON_WIDTH + (buttons_per_row	- 1) * h_pad - ignore_btn_rect.getWidth(); -		if (ignore_btn_left + ignore_btn_rect.getWidth() > max_width)// make sure that the ignore button is in panel -		{ -			ignore_btn_left = max_width - ignore_btn_rect.getWidth() - 2 * HPAD; -		} +		S32 ignore_btn_left = max_width - ignore_btn_rect.getWidth();  		ignore_btn_rect.setOriginAndSize(ignore_btn_left, BOTTOM_PAD,// always move ignore button at the bottom  				ignore_btn_rect.getWidth(), ignore_btn_rect.getHeight());  		ignore_btn->setRect(ignore_btn_rect);  		ignore_btn_width = ignore_btn_rect.getWidth();  		mControlPanel->addChild(ignore_btn, -1); +		mute_btn_pad = 4 * HPAD; //only use a 4 * HPAD padding if an ignore button exists  	}  	if (mIsScriptDialog && mute_btn != NULL)  	{  		LLRect mute_btn_rect(mute_btn->getRect()); -		S32 buttons_per_row = max_width / BUTTON_WIDTH; //assume that h_pad far less than BUTTON_WIDTH  		// Place mute (Block) button to the left of the ignore button. -		S32 mute_btn_left = buttons_per_row * BUTTON_WIDTH + (buttons_per_row	- 1) * h_pad - mute_btn_rect.getWidth() - ignore_btn_width - (h_pad / 2); -		if (mute_btn_left + mute_btn_rect.getWidth() > max_width) // make sure that the mute button is in panel -		{ -			mute_btn_left = max_width - mute_btn_rect.getWidth() - 2 * HPAD; -		} +		S32 mute_btn_left = max_width - mute_btn_rect.getWidth() - ignore_btn_width - mute_btn_pad;  		mute_btn_rect.setOriginAndSize(mute_btn_left, BOTTOM_PAD,// always move mute button at the bottom  				mute_btn_rect.getWidth(), mute_btn_rect.getHeight());  		mute_btn->setRect(mute_btn_rect); diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index 9db784101d..368b7f611c 100644 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -1662,9 +1662,6 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use  			// Request access list information for this land  			parcel_mgr.sendParcelAccessListRequest(AL_ACCESS | AL_BAN); -			// Request the media url filter list for this land -			parcel_mgr.requestParcelMediaURLFilter(); -  			// Request dwell for this land, if it's not public land.  			parcel_mgr.mSelectedDwell = DWELL_NAN;  			if (0 != local_id) @@ -1993,67 +1990,6 @@ void LLViewerParcelMgr::sendParcelAccessListUpdate(U32 which)  	}  } -class LLParcelMediaURLFilterResponder : public LLHTTPClient::Responder -{ -	virtual void result(const LLSD& content) -	{ -		LLViewerParcelMgr::getInstance()->receiveParcelMediaURLFilter(content); -	} -}; - -void LLViewerParcelMgr::requestParcelMediaURLFilter() -{ -	if (!mSelected) -	{ -		return; -	} - -	LLViewerRegion* region = LLWorld::getInstance()->getRegionFromPosGlobal( mWestSouth ); -	if (!region) -	{ -		return; -	} - -	LLParcel* parcel = mCurrentParcel; -	if (!parcel) -	{ -		llwarns << "no parcel" << llendl; -		return; -	} - -	LLSD body; -	body["local-id"] = parcel->getLocalID(); -	body["list"] = parcel->getMediaURLFilterList(); - -	std::string url = region->getCapability("ParcelMediaURLFilterList"); -	if (!url.empty()) -	{ -		LLHTTPClient::post(url, body, new LLParcelMediaURLFilterResponder); -	} -	else -	{ -		llwarns << "can't get ParcelMediaURLFilterList cap" << llendl; -	} -} - - -void LLViewerParcelMgr::receiveParcelMediaURLFilter(const LLSD &content) -{ -	if (content.has("list")) -	{ -		LLParcel* parcel = LLViewerParcelMgr::getInstance()->mCurrentParcel; -		if (!parcel) return; -		 -		if (content["local-id"].asInteger() == parcel->getLocalID()) -		{ -			parcel->setMediaURLFilterList(content["list"]); -			 -			LLViewerParcelMgr::getInstance()->notifyObservers(); -		} -	} -} - -  void LLViewerParcelMgr::deedLandToGroup()  {  	std::string group_name; diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h index cac8d8391c..b5b8fdf873 100644 --- a/indra/newview/llviewerparcelmgr.h +++ b/indra/newview/llviewerparcelmgr.h @@ -223,11 +223,6 @@ public:  	// Takes an Access List flag, like AL_ACCESS or AL_BAN  	void	sendParcelAccessListRequest(U32 flags); -	// asks for the parcel's media url filter list -	void    requestParcelMediaURLFilter(); -	// receive the response -	void    receiveParcelMediaURLFilter(const LLSD &content); -	  	// Dwell is not part of the usual parcel update information because the  	// simulator doesn't actually know the per-parcel dwell.  Ack!  We have  	// to get it out of the database. diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index e3cb985ddb..a43a6c6d7d 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1522,7 +1522,6 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames)  	capabilityNames.append("MeshUploadFlag");  	capabilityNames.append("NewFileAgentInventory");  	capabilityNames.append("ParcelPropertiesUpdate"); -	capabilityNames.append("ParcelMediaURLFilterList");  	capabilityNames.append("ParcelNavigateMedia");  	capabilityNames.append("ParcelVoiceInfoRequest");  	capabilityNames.append("ProductInfoRequest"); diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index ab994c71cb..7b0677ea1e 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -1635,6 +1635,21 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable)  } +//static +void LLPipeline::removeMutedAVsLights(LLVOAvatar* muted_avatar) +{ +	LLFastTimer t(FTM_REMOVE_FROM_LIGHT_SET); +	for (light_set_t::iterator iter = gPipeline.mNearbyLights.begin(); +		 iter != gPipeline.mNearbyLights.end(); iter++) +	{ +		if (iter->drawable->getVObj()->isAttachment() && iter->drawable->getVObj()->getAvatar() == muted_avatar) +		{ +			gPipeline.mLights.erase(iter->drawable); +			gPipeline.mNearbyLights.erase(iter); +		} +	} +} +  U32 LLPipeline::addObject(LLViewerObject *vobj)  {  	LLMemType mt_ao(LLMemType::MTYPE_PIPELINE_ADD_OBJECT); diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index b8b4f164fe..cabb359884 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -151,6 +151,8 @@ public:  	void		 unlinkDrawable(LLDrawable*); +	static void removeMutedAVsLights(LLVOAvatar*); +  	// Object related methods  	void        markVisible(LLDrawable *drawablep, LLCamera& camera);  	void		markOccluder(LLSpatialGroup* group); diff --git a/indra/newview/skins/default/xui/de/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/de/panel_volume_pulldown.xml new file mode 100644 index 0000000000..e6ab9165d7 --- /dev/null +++ b/indra/newview/skins/default/xui/de/panel_volume_pulldown.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater" width="240"> +	<button left="217" name="prefs_btn"/> +	<slider label="Master" name="System Volume" label_width="80" width="180"/> +    <slider label="Schaltflächen" label_width="80" width="180" name="UI Volume"/> +    <slider label="Umgebung" label_width="80" width="180" name="Wind Volume"/> +    <slider label="Soundeffekte" label_width="80" width="180" name="SFX Volume"/> +	<check_box name="gesture_audio_play_btn" tool_tip="Sounds von Gesten abspielen"/> +    <slider label="Musikstream" label_width="80" width="180" name="Music Volume"/> +	<check_box tool_tip="Musikstream aktivieren" name="enable_music"/> +    <slider label="Medien" label_width="80" width="180" name="Media Volume"/> +	<check_box tool_tip="Medienstream aktivieren" name="enable_media"/> +    <slider label="Voice-Chat" label_width="80" width="180" name="Voice Volume"/> +	<check_box tool_tip="Voice-Chat aktivieren" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 3aa34439f1..dd2a0c6627 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -129,6 +129,5 @@       left_pad="5"       top="2"       name="volume_btn" -     tool_tip="Global Volume Control"       width="16" />  </panel> diff --git a/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml index 7b22b2cce1..6adede0362 100644 --- a/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml +++ b/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml @@ -8,41 +8,289 @@   border="false"   chrome="true"   follows="bottom" - height="150" + height="155"   layout="topleft"   name="volumepulldown_floater" - width="32"> - <slider -  control_name="AudioLevelMaster" -  follows="left|top" -  left="0" -  top="1" -  orientation="vertical" -  height="120" -  increment="0.05" -  initial_value="0.5" -  layout="topleft" -  name="mastervolume" -  show_text="false" -  slider_label.halign="right" -  top_pad="2" -  volume="true"> -  <slider.commit_callback -   function="Vol.setControlFalse" -   parameter="MuteAudio" /> -  </slider> -  <button -    left="10" -    top_pad="9" -    width="12" -    height="12" -    follows="top|left" -    name="prefs_btn" -    image_unselected="Icon_Gear_Foreground" -    image_disabled="Icon_Gear_Background" -    image_pressed="Icon_Gear_Press" -    scale_image="false"> -    <button.commit_callback -       function="Vol.GoAudioPrefs" /> -  </button> + width="225"> +      <slider +     control_name="AudioLevelMaster" +     follows="top|left" +     font.style="BOLD" +     height="15" +     increment="0.025" +     initial_value="0.5" +     label="Master" +     label_width="60" +     left="10" +     width="160" +     layout="topleft" +     name="System Volume" +     show_text="false" +     top="10" +     volume="true"> +        <slider.commit_callback +         function="Pref.setControlFalse" +         parameter="MuteAudio" /> +    </slider> +    <button +     control_name="MuteAudio" +     follows="top|left" +     height="16" +     image_selected="AudioMute_Off" +     image_unselected="Audio_Off" +     is_toggle="true" +     layout="topleft" +     left_pad="5" +     name="mute_audio" +     tab_stop="false" +     width="16" /> +    <slider +        control_name="AudioLevelUI" +        disabled_control="MuteAudio" +        follows="left|top" +        height="15" +        increment="0.025" +        initial_value="0.5" +        label="Buttons" +        label_width="60" +        left="10" +        width="160" +        layout="topleft" +        name="UI Volume" +        show_text="false" +        top_pad="4" +        volume="true"> +    <slider.commit_callback +        function="Pref.setControlFalse" +        parameter="MuteUI" /> +    </slider> +    <button +        control_name="MuteUI" +        disabled_control="MuteAudio" +        follows="top|left" +        height="16" +        image_selected="AudioMute_Off" +        image_unselected="Audio_Off" +        is_toggle="true" +        layout="topleft" +        left_pad="5" +        name="mute_audio" +        tab_stop="false" +        width="16" /> +    <slider +     control_name="AudioLevelAmbient" +     disabled_control="MuteAudio" +     follows="left|top" +     height="15" +     increment="0.025" +     initial_value="0.5" +     label="Ambient" +     label_width="60" +     left="10" +     width="160" +     layout="topleft" +     name="Wind Volume" +     show_text="false" +     top_pad="4" +     volume="true"> +        <slider.commit_callback +         function="Pref.setControlFalse" +         parameter="MuteAmbient" /> +    </slider> +    <button +     control_name="MuteAmbient" +     disabled_control="MuteAudio" +     follows="top|left" +     height="16" +     image_selected="AudioMute_Off" +     image_unselected="Audio_Off" +     is_toggle="true" +     layout="topleft" +     left_pad="5" +     name="mute_audio" +     tab_stop="false" +     width="16" /> +    <slider +     control_name="AudioLevelSFX" +     disabled_control="MuteAudio" +     follows="left|top" +     height="15" +     increment="0.025" +     initial_value="0.5" +     label="Sounds" +     label_width="60" +     left="10" +     width="160" +     layout="topleft" +     name="SFX Volume" +     show_text="false" +     top_pad="4" +     volume="true"> +        <slider.commit_callback +         function="Pref.setControlFalse" +         parameter="MuteSounds" /> +    </slider> +    <button +     control_name="MuteSounds" +     disabled_control="MuteAudio" +     follows="top|left" +     height="16" +     image_selected="AudioMute_Off" +     image_unselected="Audio_Off" +     is_toggle="true" +     layout="topleft" +     left_pad="5" +     name="mute_audio" +     tab_stop="false" +     width="16"> +      <button.commit_callback +      function="Pref.SetSounds"/> +    </button> +  <check_box +    name="gesture_audio_play_btn" +		control_name="EnableGestureSounds" +    disabled_control="MuteAudio" +    height="16" +    layout="topleft" +    left_pad="5" +    tool_tip="Enable sounds from gestures" +    top_delta="2" +    width="350"/> +    <slider +     control_name="AudioLevelMusic" +     disabled_control="MuteAudio" +     follows="left|top" +     height="15" +     increment="0.025" +     initial_value="0.5" +     label="Music" +     label_width="60" +     left="10" +     width="160" +     layout="topleft" +     name="Music Volume" +     show_text="false" +     top_pad="4" +     volume="true"> +        <slider.commit_callback +         function="Pref.setControlFalse" +         parameter="MuteMusic" /> +    </slider> +    <button +     control_name="MuteMusic" +     disabled_control="MuteAudio" +     follows="top|left" +     height="16" +     image_selected="AudioMute_Off" +     image_unselected="Audio_Off" +     is_toggle="true" +     layout="topleft" +     left_pad="5" +     name="mute_audio" +     tab_stop="false" +     width="16" /> +    <check_box +        control_name="AudioStreamingMusic" +        height="16" +        tool_tip="Enable Streaming Music" +        layout="topleft" +        left_pad="5" +        name="enable_music" +        top_delta="2" +        width="350"> +        <check_box.commit_callback +            function="Pref.updateMediaAutoPlayCheckbox"/> +    </check_box> +    <slider +        control_name="AudioLevelMedia" +        disabled_control="MuteAudio" +        follows="left|top" +        height="16" +        increment="0.025" +        initial_value="0.5" +        label="Media" +        label_width="60" +        left="10" +        width="160" +        layout="topleft" +        name="Media Volume" +        show_text="false" +        top_pad="4" +        volume="true"> +      <slider.commit_callback +        function="Pref.setControlFalse" +        parameter="MuteMedia" /> +    </slider> +    <button +        control_name="MuteMedia" +        disabled_control="MuteAudio" +        follows="top|left" +        height="16" +        image_selected="AudioMute_Off" +        image_unselected="Audio_Off" +        is_toggle="true" +        layout="topleft" +        left_pad="5" +        name="mute_audio" +        tab_stop="false" +        width="16" /> +    <check_box +        label_text.halign="left" +        follows="left|top" +        height="16" +        control_name ="AudioStreamingMedia" +        tool_tip="Enable Streaming Media" +        layout="topleft" +        top_delta="2" +        left_pad="5" +        name="enable_media" +        width="110"> +        <check_box.commit_callback +            function="Pref.updateMediaAutoPlayCheckbox"/> +    </check_box> +    <slider +        control_name="AudioLevelVoice" +        disabled_control="MuteAudio" +        follows="left|top" +        height="16" +        increment="0.025" +        initial_value="0.5" +        label="Voice" +        label_width="60" +        left="10" +        width="160" +        layout="topleft" +        top_pad="4" +        name="Voice Volume" +        show_text="false" +        volume="true"> +    <slider.commit_callback +        function="Pref.setControlFalse" +        parameter="MuteVoice" /> +    </slider> +    <button +        control_name="MuteVoice" +        disabled_control="MuteAudio" +        follows="top|left" +        height="16" +        image_selected="AudioMute_Off" +        image_unselected="Audio_Off" +        is_toggle="true" +        layout="topleft" +        left_pad="5" +        name="mute_audio" +        tab_stop="false" +        width="16" /> +    <check_box +        label_text.halign="left" +        follows="left|top" +        height="16" +        control_name ="EnableVoiceChat" +        disabled_control="CmdLineDisableVoice" +        tool_tip="Enable Voice Chat" +        layout="topleft" +        top_delta="2" +        left_pad="5" +        name="enable_voice_check" +        width="110"/>  </panel> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 4ccec4838a..f565928d44 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2139,11 +2139,15 @@ Drag folders to this area and click "Send to Marketplace" to list them for sale    <!-- historically default name of the Favorites folder can start from either "f" or "F" letter.    We should localize both of them with the same value -->  	<string name="InvFolder favorite">My Favorites</string> +	<string name="InvFolder Favorites">My Favorites</string> +	<string name="InvFolder favorites">My Favorites</string>  	<string name="InvFolder Current Outfit">Current Outfit</string>  	<string name="InvFolder Initial Outfits">Initial Outfits</string>  	<string name="InvFolder My Outfits">My Outfits</string>  	<string name="InvFolder Accessories">Accessories</string>  	<string name="InvFolder Meshes">Meshes</string> +	<string name="InvFolder Received Items">Received Items</string> +	<string name="InvFolder Merchant Outbox">Merchant Outbox</string>    <!-- are used for Friends and Friends/All folders in Inventory "Calling cards" folder. See EXT-694-->  	<string name="InvFolder Friends">Friends</string> diff --git a/indra/newview/skins/default/xui/es/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/es/panel_volume_pulldown.xml new file mode 100644 index 0000000000..9193da6cde --- /dev/null +++ b/indra/newview/skins/default/xui/es/panel_volume_pulldown.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater" width="215"> +	<slider label="Maestro" name="System Volume" label_width="55" width="155"/> +	<slider label="Botones" name="UI Volume" label_width="55" width="155"/> +	<slider label="Ambiente" name="Wind Volume" label_width="55" width="155"/> +	<slider label="Sonidos" name="SFX Volume" label_width="55" width="155"/> +	<check_box name="gesture_audio_play_btn" tool_tip="Activa el sonido de los gestos"/> +	<slider label="Música" name="Music Volume" label_width="55" width="155"/> +	<check_box tool_tip="Activa el flujo de audio" name="enable_music"/> +	<slider label="Medios" name="Media Volume" label_width="55" width="155"/> +	<check_box tool_tip="Activa el flujo de medios" name="enable_media"/> +	<slider label="Voz" name="Voice Volume" label_width="55" width="155"/> +	<check_box tool_tip="Activar chat de voz" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/skins/default/xui/it/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/it/panel_volume_pulldown.xml new file mode 100644 index 0000000000..1792b09413 --- /dev/null +++ b/indra/newview/skins/default/xui/it/panel_volume_pulldown.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater" width="220"> +    <button left="197" name="prefs_btn"/> +    <slider label="Generale" name="System Volume" label_width="60" width="160"/> +    <slider label="Interfaccia" name="UI Volume" label_width="60" width="160"/> +    <slider label="Ambiente" name="Wind Volume" label_width="60" width="160"/> +    <slider label="Suoni" name="SFX Volume" label_width="60" width="160"/> +    <check_box name="gesture_audio_play_btn" tool_tip="Attiva suoni Gesture"/> +    <slider label="Musica" name="Music Volume" label_width="60" width="160"/> +    <check_box tool_tip="Abilita musica in streaming" name="enable_music"/> +    <slider label="Media" name="Media Volume" label_width="60" width="160"/> +    <check_box tool_tip="Abilita riproduzione media" name="enable_media"/> +    <slider label="Voice" name="Voice Volume" label_width="60" width="160"/> +    <check_box tool_tip="Abilita il voice" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml new file mode 100644 index 0000000000..1611900700 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater"> +    <slider label="Główny" name="System Volume"/> +    <slider label="Przyciski" name="UI Volume"/> +    <slider label="Okolica" name="Wind Volume"/> +    <slider label="Efekty" name="SFX Volume"/> +    <check_box name="gesture_audio_play_btn" tool_tip="Włącz dźwięki gestów"/> +    <slider label="Muzyka" name="Music Volume"/> +    <check_box tool_tip="Włącz muzykę strumieniową" name="enable_music"/> +    <slider label="Media" name="Media Volume"/> +    <check_box tool_tip="Włącz media strumieniowe" name="enable_media"/> +    <slider label="Głos" name="Voice Volume"/> +    <check_box tool_tip="Włącz rozmowy głosowe" name="enable_voice_check"/> +</panel>  | 
