From 9027f4430ddd9817f40b59c463d81a8cc3783c58 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Mon, 10 May 2010 10:45:43 +0300 Subject: 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 --- indra/newview/llparticipantlist.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'indra/newview/llparticipantlist.cpp') 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); } } -- cgit v1.2.3