summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorTJ <tj8@live.com.au>2024-09-07 00:08:32 +1000
committerGitHub <noreply@github.com>2024-09-06 17:08:32 +0300
commit6af471482d6801530915c1c9ae4bdf788af52eae (patch)
treee12f8e186d043ce7379c4e8734bbc68b9243a7c2 /indra/newview
parent256ac6e9627073903614263476f357f368082edb (diff)
Add toggles to avatar dropdown for hear sound or voice from avatar. (#2518, #2519)
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llagent.cpp14
-rw-r--r--indra/newview/llagent.h7
-rw-r--r--indra/newview/llviewermenu.cpp2
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml18
4 files changed, 41 insertions, 0 deletions
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index c4336758ac..7c37cc1c00 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -355,6 +355,20 @@ bool LLAgent::isMicrophoneOn(const LLSD& sdname)
return LLVoiceClient::getInstance()->getUserPTTState();
}
+//static
+void LLAgent::toggleHearMediaSoundFromAvatar()
+{
+ const S32 mediaSoundsEarLocation = gSavedSettings.getS32("MediaSoundsEarLocation");
+ gSavedSettings.setS32("MediaSoundsEarLocation", !mediaSoundsEarLocation);
+}
+
+//static
+void LLAgent::toggleHearVoiceFromAvatar()
+{
+ const S32 voiceEarLocation = gSavedSettings.getS32("VoiceEarLocation");
+ gSavedSettings.setS32("VoiceEarLocation", !voiceEarLocation);
+}
+
// ************************************************************
// Enabled this definition to compile a 'hacked' viewer that
// locally believes the end user has godlike powers.
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h
index 8f892025c9..7c7f7aa91d 100644
--- a/indra/newview/llagent.h
+++ b/indra/newview/llagent.h
@@ -375,6 +375,13 @@ private:
bool mVoiceConnected;
//--------------------------------------------------------------------
+ // Sound
+ //--------------------------------------------------------------------
+public:
+ static void toggleHearMediaSoundFromAvatar();
+ static void toggleHearVoiceFromAvatar();
+
+ //--------------------------------------------------------------------
// Chat
//--------------------------------------------------------------------
public:
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 344a9737b1..d8c4e03d93 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -9757,6 +9757,8 @@ void initialize_menus()
commit.add("Agent.ToggleMicrophone", boost::bind(&LLAgent::toggleMicrophone, _2));
enable.add("Agent.IsMicrophoneOn", boost::bind(&LLAgent::isMicrophoneOn, _2));
enable.add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2));
+ commit.add("Agent.ToggleHearMediaSoundFromAvatar", boost::bind(&LLAgent::toggleHearMediaSoundFromAvatar));
+ commit.add("Agent.ToggleHearVoiceFromAvatar", boost::bind(&LLAgent::toggleHearVoiceFromAvatar));
// File menu
init_menu_file();
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 7fe9d0efe5..324e868bd5 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -465,6 +465,24 @@
<menu_item_check.on_click
function="World.AlwaysRun" />
</menu_item_check>
+ <menu_item_check
+ label="Hear Media and Sound from Avatar"
+ name="Hear Media and Sound from Avatar">
+ <menu_item_check.on_check
+ control="MediaSoundsEarLocation" />
+ <menu_item_check.on_click
+ function="Agent.ToggleHearMediaSoundFromAvatar" />
+ </menu_item_check>
+ <menu_item_check
+ label="Hear Voice from Avatar"
+ name="Hear Voice from Avatar">
+ <menu_item_check.on_check
+ control="VoiceEarLocation" />
+ <menu_item_check.on_click
+ function="Agent.ToggleHearVoiceFromAvatar" />
+ <menu_item_call.on_enable
+ control="EnableVoiceChat" />
+ </menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Gestures..."