diff options
| author | callum <none@none> | 2011-05-02 13:41:24 -0700 | 
|---|---|---|
| committer | callum <none@none> | 2011-05-02 13:41:24 -0700 | 
| commit | 9edcde56e907d1170fee311304e93449ad617d6a (patch) | |
| tree | 50110dabd1807d9a4ba2171d91d8b341b30df23c | |
| parent | 814e540e85d0f8dc3b50ade6b1b3194e7cbb57fb (diff) | |
| parent | 3d64e29007800488fddacc1008ebec242d189e80 (diff) | |
Merge with head
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 6 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings_minimal.xml | 6 | ||||
| -rw-r--r-- | indra/newview/llbottomtray.cpp | 42 | ||||
| -rw-r--r-- | indra/newview/llimview.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llspeakbutton.cpp | 20 | ||||
| -rw-r--r-- | indra/newview/llspeakbutton.h | 5 | ||||
| -rw-r--r-- | indra/newview/skins/minimal/xui/en/panel_bottomtray.xml | 2 | 
7 files changed, 39 insertions, 48 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f2a0e5ac19..b95c83e1ac 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -11662,10 +11662,10 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>VoiceCallsRejectAll</key> +    <key>VoiceCallsRejectGroup</key>      <map>        <key>Comment</key> -      <string>Silently reject all incoming voice calls.</string> +      <string>Silently reject all incoming group voice calls.</string>        <key>Persist</key>        <integer>1</integer>        <key>Type</key> @@ -11673,7 +11673,7 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>VoiceDisableMic</key> +  <key>VoiceDisableMic</key>      <map>        <key>Comment</key>        <string>Completely disable the ability to open the mic.</string> diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 60aecb279c..3d470b27c1 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -117,14 +117,14 @@          <key>Value</key>              <integer>0</integer>          </map> -    <key>VoiceCallsRejectAll</key> +    <key>VoiceCallsRejectGroup</key>          <map>          <key>Comment</key> -            <string>Silently reject all incoming voice calls.</string> +            <string>Silently reject all incoming group voice calls.</string>          <key>Type</key>              <string>Boolean</string>          <key>Value</key> -            <integer>0</integer> +            <integer>1</integer>          </map>      <key>VoiceDisableMic</key>          <map> diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 0371b7be71..6d40786b08 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -378,12 +378,13 @@ void LLBottomTray::onChange(EStatusType status, const std::string &channelURI, b  	}  	// We have to enable/disable right and left parts of speak button separately (EXT-4648) -	mSpeakBtn->setSpeakBtnEnabled(enable); +	getChild<LLButton>("speak_btn")->setEnabled(enable); +  	// skipped to avoid button blinking  	if (status != STATUS_JOINING && status!= STATUS_LEFT_CHANNEL)  	{  		bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); -		mSpeakBtn->setFlyoutBtnEnabled(voice_status); +		getChild<LLButton>("speak_flyout_btn")->setEnabled(voice_status);  		if (voice_status)  		{  			LLFirstUse::speak(true); @@ -566,17 +567,21 @@ BOOL LLBottomTray::postBuild()  	setRightMouseDownCallback(boost::bind(&LLBottomTray::showBottomTrayContextMenu,this, _2, _3,_4));  	mSpeakPanel = getChild<LLPanel>("speak_panel"); -	mSpeakBtn = getChild<LLSpeakButton>("talk"); -	LLHints::registerHintTarget("speak_btn", mSpeakBtn->getHandle()); +	mSpeakBtn = findChild<LLSpeakButton>("talk"); +	if (mSpeakBtn) +	{ +		LLHints::registerHintTarget("speak_btn", mSpeakBtn->getHandle()); + +		// Localization tool doesn't understand custom buttons like <talk_button> +		mSpeakBtn->setSpeakToolTip( getString("SpeakBtnToolTip") ); +		mSpeakBtn->setShowToolTip( getString("VoiceControlBtnToolTip") ); +	}  	// Both parts of speak button should be initially disabled because  	// it takes some time between logging in to world and connecting to voice channel. -	mSpeakBtn->setSpeakBtnEnabled(false); -	mSpeakBtn->setFlyoutBtnEnabled(false); +	getChild<LLButton>("speak_btn")->setEnabled(false); +	getChild<LLButton>("speak_flyout_btn")->setEnabled(false); -	// Localization tool doesn't understand custom buttons like <talk_button> -	mSpeakBtn->setSpeakToolTip( getString("SpeakBtnToolTip") ); -	mSpeakBtn->setShowToolTip( getString("VoiceControlBtnToolTip") );  	// Registering Chat Bar to receive Voice client status change notifications.  	LLVoiceClient::getInstance()->addObserver(this); @@ -872,6 +877,10 @@ void LLBottomTray::draw()  	getChild<LLButton>("show_help_btn")->setToggleState(help_floater_visible); +	bool openmic = LLVoiceClient::getInstance()->getUserPTTState(); +	bool voiceenabled = LLVoiceClient::getInstance()->voiceEnabled(); +	getChild<LLButton>("speak_btn")->setToggleState(openmic && voiceenabled); +	getChild<LLOutputMonitorCtrl>("chat_zone_indicator")->setIsMuted(!voiceenabled);  } @@ -1345,7 +1354,11 @@ void LLBottomTray::processShrinkButtons(S32& required_width, S32& buttons_freed_  			if (possible_shrink_width > 0)  			{ -				mSpeakBtn->setLabelVisible(false); +				if (mSpeakBtn) +				{	 +					mSpeakBtn->setLabelVisible(false); +				} +  				mSpeakPanel->reshape(panel_width - possible_shrink_width, mSpeakPanel->getRect().getHeight());  				required_width += possible_shrink_width; @@ -1442,10 +1455,13 @@ void LLBottomTray::processExtendButtons(S32& available_width)  		S32 possible_extend_width = panel_max_width - panel_width;  		if (possible_extend_width >= 0 && possible_extend_width <= available_width + available_width_chiclet)  // HACK: this button doesn't change size so possible_extend_width will be 0 -		{ -			mSpeakBtn->setLabelVisible(true); +		{				 +			if (mSpeakBtn) +			{	 +				mSpeakBtn->setLabelVisible(true); +			} +  			mSpeakPanel->reshape(panel_max_width, mSpeakPanel->getRect().getHeight()); -			log(mSpeakBtn, "speak button is extended");  			if( available_width > possible_extend_width)  			{ diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index ec3fe48151..38c5ba71bd 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2696,10 +2696,10 @@ void LLIMMgr::inviteToSession(  	if (voice_invite)  	{ -		if	(	// if we're rejecting all incoming call requests -				gSavedSettings.getBOOL("VoiceCallsRejectAll")	 +		if	(	// if we are rejecting group calls  +				(gSavedSettings.getBOOL("VoiceCallsRejectGroup") && notify_box_type == "VoiceInviteGroup") ||  				// or we're rejecting non-friend voice calls and this isn't a friend	 -				|| (gSavedSettings.getBOOL("VoiceCallsFriendsOnly") && (LLAvatarTracker::instance().getBuddyInfo(caller_id) == NULL)) +				(gSavedSettings.getBOOL("VoiceCallsFriendsOnly") && (LLAvatarTracker::instance().getBuddyInfo(caller_id) == NULL))  			)  		{  			// silently decline the call diff --git a/indra/newview/llspeakbutton.cpp b/indra/newview/llspeakbutton.cpp index d52e0a6c86..d3e96f8dfb 100644 --- a/indra/newview/llspeakbutton.cpp +++ b/indra/newview/llspeakbutton.cpp @@ -54,26 +54,6 @@ LLSpeakButton::Params::Params()  	// See widgets/talk_button.xml  } -void LLSpeakButton::draw() -{ -	// LLVoiceClient::getInstance() is the authoritative global source of info regarding our open-mic state, we merely reflect that state. -	bool openmic = LLVoiceClient::getInstance()->getUserPTTState(); -	bool voiceenabled = LLVoiceClient::getInstance()->voiceEnabled(); -	mSpeakBtn->setToggleState(openmic && voiceenabled); -	mOutputMonitor->setIsMuted(!voiceenabled); -	LLUICtrl::draw(); -} -void LLSpeakButton::setSpeakBtnEnabled(bool enabled) -{ -	LLButton* speak_btn = getChild<LLButton>("speak_btn"); -	speak_btn->setEnabled(enabled); -} -void LLSpeakButton::setFlyoutBtnEnabled(bool enabled) -{ -	LLButton* show_btn = getChild<LLBottomtrayButton>("speak_flyout_btn"); -	show_btn->setEnabled(enabled); -} -  LLSpeakButton::LLSpeakButton(const Params& p)  : LLUICtrl(p)  , mOutputMonitor(NULL) diff --git a/indra/newview/llspeakbutton.h b/indra/newview/llspeakbutton.h index 2fdf80c1f2..7db01112ef 100644 --- a/indra/newview/llspeakbutton.h +++ b/indra/newview/llspeakbutton.h @@ -53,12 +53,7 @@ public:  	};  	/*virtual*/ ~LLSpeakButton(); -	/*virtual*/ void draw(); -	// methods for enabling/disabling right and left parts of speak button separately(EXT-4648) -	void setSpeakBtnEnabled(bool enabled); -	void setFlyoutBtnEnabled(bool enabled); -  	// *HACK: Need to put tooltips in a translatable location,  	// the panel that contains this button.  	void setSpeakToolTip(const std::string& msg); diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml index aff22c7e45..49eead5079 100644 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml @@ -105,7 +105,7 @@            min_height="28"            min_width="20"            mouse_opaque="false" -          name="flyout_panel" +          name="speak_flyout_panel"            top_delta="0"            user_resize="false"            width="20"> | 
