diff options
| -rw-r--r-- | indra/llui/llfloater.cpp | 15 | ||||
| -rw-r--r-- | indra/llui/llnotifications.cpp | 5 | ||||
| -rw-r--r-- | indra/llui/llnotifications.h | 1 | ||||
| -rw-r--r-- | indra/newview/llimview.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/lltoastnotifypanel.cpp | 15 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_preferences_chat.xml | 1 | 
7 files changed, 45 insertions, 4 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 0e57ba02bf..3ab66f3321 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -64,6 +64,8 @@  // use this to control "jumping" behavior when Ctrl-Tabbing  const S32 TABBED_FLOATER_OFFSET = 0; +extern LLControlGroup gSavedSettings; +  namespace LLInitParam  {  	void TypeValues<LLFloaterEnums::EOpenPositioning>::declareValues() @@ -660,7 +662,18 @@ void LLFloater::openFloater(const LLSD& key)  		&& !getFloaterHost()  		&& (!getVisible() || isMinimized()))  	{ -		make_ui_sound("UISndWindowOpen"); +        bool playSound = true; + +        //Don't play a sound for incoming voice call based upon chat preference setting +        if(getName() == "incoming call" && gSavedSettings.getBOOL("PlaySoundIncomingVoiceCall") == FALSE) +        { +            playSound = false; +        } + +        if(playSound) +        { +            make_ui_sound("UISndWindowOpen"); +        }  	}  	//RN: for now, we don't allow rehosting from one multifloater to another diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index 929b7da081..fe84dbbdaf 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -899,6 +899,11 @@ bool LLNotification::hasFormElements() const  	return mTemplatep->mForm->getNumElements() != 0;  } +void LLNotification::playSound() +{  +    LLUI::sAudioCallback(mTemplatep->mSoundEffect); +} +  LLNotification::ECombineBehavior LLNotification::getCombineBehavior() const  {  	return mTemplatep->mCombineBehavior; diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h index c677dfe298..088931858a 100644 --- a/indra/llui/llnotifications.h +++ b/indra/llui/llnotifications.h @@ -524,6 +524,7 @@ public:  	bool canLogToIM() const;  	bool canShowToast() const;  	bool hasFormElements() const; +    void playSound();  	typedef enum e_combine_behavior  	{ diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 0f4bbd054a..f7b182e891 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2494,7 +2494,11 @@ void LLIMMgr::addMessage(  			return;  		} -		make_ui_sound("UISndNewIncomingIMSession"); +        //Play sound for new conversations +        if(gSavedSettings.getBOOL("PlaySoundNewConversation") == TRUE) +        { +            make_ui_sound("UISndNewIncomingIMSession"); +        }  	}  	bool skip_message = (gSavedSettings.getBOOL("VoiceCallsFriendsOnly") && diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index ccad49bc30..8672dc479d 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -493,6 +493,21 @@ void LLToastNotifyPanel::init( LLRect rect, bool show_images )  	}  	// adjust panel's height to the text size  	snapToMessageHeight(mTextBox, MAX_LENGTH); + +    bool playSound = true; + +    if((mNotification->getName() == "UserGiveItem" +            && gSavedSettings.getBOOL("PlaySoundInventoryOffer") == FALSE) +        ||  mNotification->getName() == "TeleportOffered" +            && gSavedSettings.getBOOL("PlaySoundTeleportOffer") == FALSE) +    { +        playSound = false; +    } + +    if(playSound) +    { +        mNotification->playSound(); +    }  } diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 6c2ad869ac..bf2bfaf386 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6460,7 +6460,8 @@ Your object named <nolink>[OBJECTFROMNAME]</nolink> has given you th     icon="notify.tga"     name="UserGiveItem"     log_to_im ="true" -   type="offer"> +   type="offer" +   sound="UISndNewIncomingIMSession">  [NAME_SLURL] has given you this [OBJECTTYPE]:  [ITEM_SLURL]      <form name="form"> @@ -6517,7 +6518,8 @@ Your object named <nolink>[OBJECTFROMNAME]</nolink> has given you th     name="TeleportOffered"     log_to_im="true"     log_to_chat="false" -   type="offer"> +   type="offer" +   sound="UISndNewIncomingIMSession">  [NAME_SLURL] has offered to teleport you to their location:  “[MESSAGE]” diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml index 8ab5c9a99c..712e8bff7f 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml @@ -322,6 +322,7 @@          name="incoming_voice_call"          width="150" />      <check_box +        enabled="false"          control_name="PlaySoundGroupChatMessages"          height="16"          label="Group chat messages"  | 
