diff options
author | Mike Antipov <mantipov@productengine.com> | 2010-05-10 10:45:43 +0300 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2010-05-10 10:45:43 +0300 |
commit | 9027f4430ddd9817f40b59c463d81a8cc3783c58 (patch) | |
tree | 6a28780961671930f17663ffa97bc0dd8b70af29 /indra/newview/llparticipantlist.cpp | |
parent | 73e6407af8f802bbc4a3932bc5ac32ca8f13ab56 (diff) |
EXT-7095 FIXED Replaced voice moderation menu items and updated related actions.
* Replaced "Un/Mute everyone else" menu items with requested ones. They are enabled only on participants in Voice session (are shown for moderators)
* Actions implemented via existent "Un/Mute everyone else" functionality where "else" is NULL item.
Known issues:
* It is impossible to perform the same "Un/Mute everyone" action is session is already in requested state: EXT-6937
* If voice is disabled in a group session not all muted participants have appropriate indicator in VCP if resident joins to the session.
Due to this is the same behavior as before current patch is provided, a separate EXT-7235 bug is filed for this.
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llparticipantlist.cpp')
-rw-r--r-- | indra/newview/llparticipantlist.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp index 8c908449a0..2141f43758 100644 --- a/indra/newview/llparticipantlist.cpp +++ b/indra/newview/llparticipantlist.cpp @@ -674,12 +674,10 @@ void LLParticipantList::LLParticipantListMenu::show(LLView* spawning_view, const if (is_muted) { LLMenuGL::sMenuContainer->childSetVisible("ModerateVoiceMuteSelected", false); - LLMenuGL::sMenuContainer->childSetVisible("ModerateVoiceMuteOthers", false); } else { LLMenuGL::sMenuContainer->childSetVisible("ModerateVoiceUnMuteSelected", false); - LLMenuGL::sMenuContainer->childSetVisible("ModerateVoiceUnMuteOthers", false); } } @@ -784,16 +782,17 @@ void LLParticipantList::LLParticipantListMenu::moderateVoice(const LLSD& userdat if (!gAgent.getRegion()) return; bool moderate_selected = userdata.asString() == "selected"; - const LLUUID& selected_avatar_id = mUUIDs.front(); - bool is_muted = isMuted(selected_avatar_id); if (moderate_selected) { + const LLUUID& selected_avatar_id = mUUIDs.front(); + bool is_muted = isMuted(selected_avatar_id); moderateVoiceParticipant(selected_avatar_id, is_muted); } else { - moderateVoiceOtherParticipants(selected_avatar_id, is_muted); + bool unmute_all = userdata.asString() == "unmute_all"; + moderateVoiceOtherParticipants(LLUUID::null, unmute_all); } } |