summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/llfloater.cpp15
-rw-r--r--indra/llui/llnotifications.cpp5
-rw-r--r--indra/llui/llnotifications.h1
-rw-r--r--indra/newview/llimview.cpp6
-rw-r--r--indra/newview/lltoastnotifypanel.cpp15
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml6
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_chat.xml1
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 &lt;nolink&gt;[OBJECTFROMNAME]&lt;/nolink&gt; 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 &lt;nolink&gt;[OBJECTFROMNAME]&lt;/nolink&gt; 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"