diff options
| author | Lynx Linden <lynx@lindenlab.com> | 2009-11-13 12:55:34 +0000 | 
|---|---|---|
| committer | Lynx Linden <lynx@lindenlab.com> | 2009-11-13 12:55:34 +0000 | 
| commit | a69bce6928f84d53edc776b19018c7726002be74 (patch) | |
| tree | 5c1e589b031e6261d6e916c7dc92819f07720d30 | |
| parent | bc9daf3ab2ed5c33a738e5f882b1237c7bd3d120 (diff) | |
EXT-2458: Added global mute/unmute button to the status bar.
| -rw-r--r-- | indra/newview/llstatusbar.cpp | 27 | ||||
| -rw-r--r-- | indra/newview/llstatusbar.h | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_status_bar.xml | 18 | 
3 files changed, 45 insertions, 6 deletions
| diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 4dccdfd7e6..b649a0c38e 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -109,6 +109,7 @@ const S32 TEXT_HEIGHT = 18;  static void onClickBuyCurrency(void*);  static void onClickHealth(void*);  static void onClickScriptDebug(void*); +static void onClickVolume(void*);  std::vector<std::string> LLStatusBar::sDays;  std::vector<std::string> LLStatusBar::sMonths; @@ -116,6 +117,12 @@ const U32 LLStatusBar::MAX_DATE_STRING_LENGTH = 2000;  LLStatusBar::LLStatusBar(const LLRect& rect)  :	LLPanel(), +	mTextHealth(NULL), +	mTextTime(NULL), +	mSGBandwidth(NULL), +	mSGPacketLoss(NULL), +	mBtnBuyCurrency(NULL), +	mBtnVolume(NULL),  	mBalance(0),  	mHealth(100),  	mSquareMetersCredit(0), @@ -148,6 +155,11 @@ LLStatusBar::LLStatusBar(const LLRect& rect)  	mBtnBuyCurrency = getChild<LLButton>( "buycurrency" );  	mBtnBuyCurrency->setClickedCallback( onClickBuyCurrency, this ); +	mBtnVolume = getChild<LLButton>( "volume_btn" ); +	mBtnVolume->setClickedCallback( onClickVolume, this ); + +	gSavedSettings.getControl("MuteAudio")->getSignal()->connect(boost::bind(&LLStatusBar::onVolumeChanged, this, _2)); +  	childSetAction("scriptout", onClickScriptDebug, this);  	childSetAction("health", onClickHealth, this); @@ -333,6 +345,10 @@ void LLStatusBar::refresh()  	mSGBandwidth->setVisible(net_stats_visible);  	mSGPacketLoss->setVisible(net_stats_visible);  	childSetEnabled("stat_btn", net_stats_visible); + +	// update the master volume button state +	BOOL mute_audio = gSavedSettings.getBOOL("MuteAudio"); +	mBtnVolume->setToggleState(mute_audio);  }  void LLStatusBar::setVisibleForMouselook(bool visible) @@ -488,6 +504,13 @@ static void onClickScriptDebug(void*)  	LLFloaterScriptDebug::show(LLUUID::null);  } +static void onClickVolume(void* data) +{ +	// toggle the master mute setting +	BOOL mute_audio = gSavedSettings.getBOOL("MuteAudio"); +	gSavedSettings.setBOOL("MuteAudio", !mute_audio); +} +  // sets the static variables necessary for the date  void LLStatusBar::setupDate()  { @@ -562,6 +585,10 @@ BOOL can_afford_transaction(S32 cost)  	return((cost <= 0)||((gStatusBar) && (gStatusBar->getBalance() >=cost)));  } +void LLStatusBar::onVolumeChanged(const LLSD& newvalue) +{ +	refresh(); +}  // Implements secondlife:///app/balance/request to request a L$ balance  // update via UDP message system. JC diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h index d5629e6f1e..3ce3549961 100644 --- a/indra/newview/llstatusbar.h +++ b/indra/newview/llstatusbar.h @@ -91,9 +91,10 @@ private:  	// simple method to setup the part that holds the date  	void setupDate(); -	static void onCommitSearch(LLUICtrl*, void* data); -	static void onClickSearch(void* data); +	void onVolumeChanged(const LLSD& newvalue); +  	static void onClickStatGraph(void* data); +	  private:  	LLTextBox	*mTextHealth; @@ -103,6 +104,7 @@ private:  	LLStatGraph *mSGPacketLoss;  	LLButton	*mBtnBuyCurrency; +	LLButton	*mBtnVolume;  	S32				mBalance;  	S32				mHealth; 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 1171a8f0b5..8fc78c6701 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -46,14 +46,24 @@       font="SansSerifSmall"       image_selected="BuyArrow_Over"       image_unselected="BuyArrow_Off" -	image_pressed="BuyArrow_Press" +     image_pressed="BuyArrow_Press"       height="16" -     left="-220" +     left="-245"       name="buycurrency"       pad_right="22px"       tool_tip="My Balance: Click to buy more L$"       top="1"       width="117" /> +    <button +     follows="right|bottom" +     height="16" +     image_selected="parcel_drk_VoiceNo" +     image_unselected="parcel_drk_Voice" +     is_toggle="true" +     left_pad="15" +     top="1" +     name="volume_btn" +     width="16" />      <text       type="string"       length="1" @@ -61,9 +71,9 @@       follows="right|bottom"       halign="right"       height="16" -     top="3" +     top="5"       layout="topleft" -     left_pad="15" +     left_pad="7"       name="TimeText"       text_color="TimeTextColor"       tool_tip="Current time (Pacific)" | 
