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 ++++----- .../skins/default/xui/en/menu_participant_list.xml | 18 +++++++++--------- 2 files changed, 13 insertions(+), 14 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); } } diff --git a/indra/newview/skins/default/xui/en/menu_participant_list.xml b/indra/newview/skins/default/xui/en/menu_participant_list.xml index 6a90e92eca..f126431263 100644 --- a/indra/newview/skins/default/xui/en/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/en/menu_participant_list.xml @@ -160,34 +160,34 @@ parameter="can_moderate_voice" /> + name="ModerateVoiceUnMuteSelected"> + parameter="selected" /> + name="ModerateVoiceMute"> + parameter="mute_all" /> + name="ModerateVoiceUnmute"> + parameter="unmute_all" /> -- cgit v1.2.3