diff options
| author | Richard Linden <none@none> | 2011-06-02 13:35:15 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2011-06-02 13:35:15 -0700 | 
| commit | 960e8c05cb4fbda322d262ee20e85e568089732c (patch) | |
| tree | 8b8a2657e41f85c3c3e62752458e467b9761467c /indra/newview | |
| parent | 361384ebb9f41dbccbaab779a085edb773f0a734 (diff) | |
| parent | b530648dd4c5fbf9e566401b4262865047de2e4a (diff) | |
Automated merge with http://hg.secondlife.com/viewer-development
Diffstat (limited to 'indra/newview')
16 files changed, 110 insertions, 5 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index eb6c77971b..cf5f522519 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -708,6 +708,17 @@        <key>Value</key>        <integer>0</integer>      </map> +    <key>BrowserEnableJSObject</key> +    <map> +      <key>Comment</key> +      <string>Enable or disable the viewer to Javascript bridge object.</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>Boolean</string> +      <key>Value</key> +      <integer>0</integer> +    </map>      <key>BlockAvatarAppearanceMessages</key>          <map>          <key>Comment</key> diff --git a/indra/newview/llfloatersounddevices.cpp b/indra/newview/llfloatersounddevices.cpp index 9fe7c7f9dd..e692f1735a 100644 --- a/indra/newview/llfloatersounddevices.cpp +++ b/indra/newview/llfloatersounddevices.cpp @@ -68,6 +68,9 @@ BOOL LLFloaterSoundDevices::postBuild()  	if (panel)  	{  		panel->setUseTuningMode(false); +		getChild<LLUICtrl>("voice_input_device")->setCommitCallback(boost::bind(&LLPanelVoiceDeviceSettings::apply, panel)); +		getChild<LLUICtrl>("voice_output_device")->setCommitCallback(boost::bind(&LLPanelVoiceDeviceSettings::apply, panel)); +		getChild<LLUICtrl>("mic_volume_slider")->setCommitCallback(boost::bind(&LLPanelVoiceDeviceSettings::apply, panel));  	}  	return TRUE;  } diff --git a/indra/newview/llpanelvoicedevicesettings.cpp b/indra/newview/llpanelvoicedevicesettings.cpp index dc87bd0077..4a80bbbe5e 100644 --- a/indra/newview/llpanelvoicedevicesettings.cpp +++ b/indra/newview/llpanelvoicedevicesettings.cpp @@ -191,7 +191,21 @@ void LLPanelVoiceDeviceSettings::refresh()  	mCtrlInputDevices = getChild<LLComboBox>("voice_input_device");  	mCtrlOutputDevices = getChild<LLComboBox>("voice_output_device"); -	if(!LLVoiceClient::getInstance()->deviceSettingsAvailable()) +	bool device_settings_available = LLVoiceClient::getInstance()->deviceSettingsAvailable(); + +	if (mCtrlInputDevices) +	{ +		mCtrlInputDevices->setEnabled(device_settings_available); +	} + +	if (mCtrlOutputDevices) +	{ +		mCtrlOutputDevices->setEnabled(device_settings_available); +	} + +	getChild<LLSlider>("mic_volume_slider")->setEnabled(device_settings_available); + +	if(!device_settings_available)  	{  		// The combo boxes are disabled, since we can't get the device settings from the daemon just now.  		// Put the currently set default (ONLY) in the box, and select it. @@ -207,6 +221,7 @@ void LLPanelVoiceDeviceSettings::refresh()  			mCtrlOutputDevices->add( mOutputDevice, ADD_BOTTOM );  			mCtrlOutputDevices->setSimple(mOutputDevice);  		} +		mDevicesUpdated = FALSE;  	}  	else if (!mDevicesUpdated)  	{ diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 79c6c8db75..1e53274cd6 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -62,6 +62,7 @@  #include "llmutelist.h"  #include "llpanelprofile.h"  #include "llappviewer.h" +#include "lllogininstance.h"   //#include "llfirstuse.h"  #include "llwindow.h" @@ -2343,6 +2344,65 @@ BOOL LLViewerMediaImpl::handleMouseUp(S32 x, S32 y, MASK mask)  }  ////////////////////////////////////////////////////////////////////////////////////////// +void LLViewerMediaImpl::updateJavascriptObject() +{ +	if ( mMediaSource ) +	{ +		// flag to expose this information to internal browser or not. +		bool expose_javascript_object = gSavedSettings.getBOOL("BrowserEnableJSObject"); +		mMediaSource->jsExposeObjectEvent( expose_javascript_object ); + +		// indicate if the values we have are valid (currently do this blanket-fashion for +		// everything depending on whether you are logged in or not - this may require a  +		// more granular approach once variables are added that ARE valid before login +		bool logged_in = LLLoginInstance::getInstance()->authSuccess(); +		mMediaSource->jsValuesValidEvent( logged_in ); + +		// current location within a region +		LLVector3 agent_pos = gAgent.getPositionAgent(); +		double x = agent_pos.mV[ VX ]; +		double y = agent_pos.mV[ VY ]; +		double z = agent_pos.mV[ VZ ]; +		mMediaSource->jsAgentLocationEvent( x, y, z ); + +		// current location within the grid +		LLVector3d agent_pos_global = gAgent.getLastPositionGlobal(); +		double global_x = agent_pos_global.mdV[ VX ]; +		double global_y = agent_pos_global.mdV[ VY ]; +		double global_z = agent_pos_global.mdV[ VZ ]; +		mMediaSource->jsAgentGlobalLocationEvent( global_x, global_y, global_z ); + +		// current agent orientation +		double rotation = atan2( gAgent.getAtAxis().mV[VX], gAgent.getAtAxis().mV[VY] ); +		double angle = rotation * RAD_TO_DEG; +		if ( angle < 0.0f ) angle = 360.0f + angle;	// TODO: has to be a better way to get orientation! +		mMediaSource->jsAgentOrientationEvent( angle ); + +		// current region agent is in +		std::string region_name(""); +		LLViewerRegion* region = gAgent.getRegion(); +		if ( region ) +		{ +			region_name = region->getName(); +		}; +		mMediaSource->jsAgentRegionEvent( region_name ); + +		// language code the viewer is set to +		mMediaSource->jsAgentLanguageEvent( LLUI::getLanguage() ); + +		// maturity setting the agent has selected +		if ( gAgent.prefersAdult() ) +			mMediaSource->jsAgentMaturityEvent( "GMA" );	// Adult means see adult, mature and general content +		else +		if ( gAgent.prefersMature() ) +			mMediaSource->jsAgentMaturityEvent( "GM" );	// Mature means see mature and general content +		else +		if ( gAgent.prefersPG() ) +			mMediaSource->jsAgentMaturityEvent( "G" );	// PG means only see General content +	} +} + +//////////////////////////////////////////////////////////////////////////////////////////  std::string LLViewerMediaImpl::getName() const   {   	if (mMediaSource) @@ -2640,6 +2700,9 @@ void LLViewerMediaImpl::update()  	{  		updateVolume(); +		// TODO: this is updated every frame - is this bad? +		updateJavascriptObject(); +  		// If we didn't just create the impl, it may need to get cookie updates.  		if(!sUpdatedCookies.empty())  		{ diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h index e2e342cc45..a70c6f4887 100644 --- a/indra/newview/llviewermedia.h +++ b/indra/newview/llviewermedia.h @@ -339,7 +339,10 @@ public:  	LLVOVolume *getSomeObject();  	void setUpdated(BOOL updated) ;  	BOOL isUpdated() ; -	 + +	// updates the javascript object in the embedded browser with viewer values +	void updateJavascriptObject(); +		  	// Updates the "interest" value in this object  	void calculateInterest();  	F64 getInterest() const { return mInterest; }; diff --git a/indra/newview/skins/default/xui/da/language_settings.xml b/indra/newview/skins/default/xui/da/language_settings.xml index 3e46f69af1..0e3cbfd2d2 100644 --- a/indra/newview/skins/default/xui/da/language_settings.xml +++ b/indra/newview/skins/default/xui/da/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">danish</string> +	<string name="MacLocale">da_DK.UTF-8</string>  	<string name="DarwinLocale">da_DK.UTF-8</string>  	<string name="LinuxLocale">da_DK.UTF-8</string> diff --git a/indra/newview/skins/default/xui/de/language_settings.xml b/indra/newview/skins/default/xui/de/language_settings.xml index d54f548fe1..f9346eef7d 100644 --- a/indra/newview/skins/default/xui/de/language_settings.xml +++ b/indra/newview/skins/default/xui/de/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">german</string> +	<string name="MacLocale">de_DE.UTF-8</string>  	<string name="DarwinLocale">de_DE.UTF-8</string>  	<string name="LinuxLocale">de_DE.UTF-8</string> diff --git a/indra/newview/skins/default/xui/en/language_settings.xml b/indra/newview/skins/default/xui/en/language_settings.xml index c8a06fe401..51779e4bfd 100644 --- a/indra/newview/skins/default/xui/en/language_settings.xml +++ b/indra/newview/skins/default/xui/en/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">english</string> +	<string name="MacLocale">C</string>  	<string name="DarwinLocale">C</string>  	<string name="LinuxLocale">C</string> diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 0d4a095e14..4c4ff3e5c4 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -183,11 +183,11 @@             parameter="http://join.secondlife.com/"/>          </menu_item_call>        <menu_item_call -       label="Web Content Floater Test" -       name="Web Content Floater Test"> +       label="Web Content Floater Debug Test" +       name="Web Content Floater Debug Test">          <menu_item_call.on_click           function="Advanced.WebContentTest" -         parameter="http://www.google.com"/> +         parameter="http://google.com"/>        </menu_item_call>        <menu_item_check          label="Show Grid Picker" diff --git a/indra/newview/skins/default/xui/es/language_settings.xml b/indra/newview/skins/default/xui/es/language_settings.xml index f172994077..997293a741 100644 --- a/indra/newview/skins/default/xui/es/language_settings.xml +++ b/indra/newview/skins/default/xui/es/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">spanish</string> +	<string name="MacLocale">es_ES.UTF-8</string>  	<string name="DarwinLocale">es_ES.UTF-8</string>  	<string name="LinuxLocale">es_ES.UTF-8</string> diff --git a/indra/newview/skins/default/xui/fr/language_settings.xml b/indra/newview/skins/default/xui/fr/language_settings.xml index bd272e1f28..fdac9d65a7 100644 --- a/indra/newview/skins/default/xui/fr/language_settings.xml +++ b/indra/newview/skins/default/xui/fr/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">french</string> +	<string name="MacLocale">fr_FR.UTF-8</string>  	<string name="DarwinLocale">fr_FR.UTF-8</string>  	<string name="LinuxLocale">fr_FR.UTF-8</string> diff --git a/indra/newview/skins/default/xui/it/language_settings.xml b/indra/newview/skins/default/xui/it/language_settings.xml index 312b8e21aa..5f448fa828 100644 --- a/indra/newview/skins/default/xui/it/language_settings.xml +++ b/indra/newview/skins/default/xui/it/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">italian</string> +	<string name="MacLocale">it_IT.UTF-8</string>  	<string name="DarwinLocale">it_IT.UTF-8</string>  	<string name="LinuxLocale">it_IT.UTF-8</string> diff --git a/indra/newview/skins/default/xui/ja/language_settings.xml b/indra/newview/skins/default/xui/ja/language_settings.xml index a6023f9b56..91e8f4be7c 100644 --- a/indra/newview/skins/default/xui/ja/language_settings.xml +++ b/indra/newview/skins/default/xui/ja/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">japanese</string> +	<string name="MacLocale">ja_JP.UTF-8</string>  	<string name="DarwinLocale">ja_JP.UTF-8</string>  	<string name="LinuxLocale">ja_JP.UTF-8</string> diff --git a/indra/newview/skins/default/xui/nl/language_settings.xml b/indra/newview/skins/default/xui/nl/language_settings.xml index 53501d5dcb..40f4d9178a 100644 --- a/indra/newview/skins/default/xui/nl/language_settings.xml +++ b/indra/newview/skins/default/xui/nl/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">dutch</string> +	<string name="MacLocale">nl_NL.UTF-8</string>  	<string name="DarwinLocale">nl_NL.UTF-8</string>  	<string name="LinuxLocale">nl_NL.UTF-8</string> diff --git a/indra/newview/skins/default/xui/pl/language_settings.xml b/indra/newview/skins/default/xui/pl/language_settings.xml index 681b38e9cf..93051d1317 100644 --- a/indra/newview/skins/default/xui/pl/language_settings.xml +++ b/indra/newview/skins/default/xui/pl/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">polish</string> +	<string name="MacLocale">pl_PL.UTF-8</string>  	<string name="DarwinLocale">pl_PL.UTF-8</string>  	<string name="LinuxLocale">pl_PL.UTF-8</string> diff --git a/indra/newview/skins/default/xui/pt/language_settings.xml b/indra/newview/skins/default/xui/pt/language_settings.xml index e1de6ffea7..8799475ace 100644 --- a/indra/newview/skins/default/xui/pt/language_settings.xml +++ b/indra/newview/skins/default/xui/pt/language_settings.xml @@ -4,6 +4,7 @@  	<!-- Locale Information -->  	<string name="MicrosoftLocale">portuguese</string> +	<string name="MacLocale">pt_PT.UTF-8</string>  	<string name="DarwinLocale">pt_PT.UTF-8</string>  	<string name="LinuxLocale">pt_PT.UTF-8</string> | 
