summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Antipov <mantipov@productengine.com>2010-05-10 10:45:43 +0300
committerMike Antipov <mantipov@productengine.com>2010-05-10 10:45:43 +0300
commit9027f4430ddd9817f40b59c463d81a8cc3783c58 (patch)
tree6a28780961671930f17663ffa97bc0dd8b70af29
parent73e6407af8f802bbc4a3932bc5ac32ca8f13ab56 (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
-rw-r--r--indra/newview/llparticipantlist.cpp9
-rw-r--r--indra/newview/skins/default/xui/en/menu_participant_list.xml18
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" />
</menu_item_call>
<menu_item_call
- label="Mute everyone else"
+ label="Unmute this participant"
layout="topleft"
- name="ModerateVoiceMuteOthers">
+ name="ModerateVoiceUnMuteSelected">
<on_click
function="ParticipantList.ModerateVoice"
- parameter="others" />
+ parameter="selected" />
<on_enable
function="ParticipantList.EnableItem.Moderate"
parameter="can_moderate_voice" />
</menu_item_call>
<menu_item_call
- label="Unmute this participant"
+ label="Mute everyone"
layout="topleft"
- name="ModerateVoiceUnMuteSelected">
+ name="ModerateVoiceMute">
<on_click
function="ParticipantList.ModerateVoice"
- parameter="selected" />
+ parameter="mute_all" />
<on_enable
function="ParticipantList.EnableItem.Moderate"
parameter="can_moderate_voice" />
</menu_item_call>
<menu_item_call
- label="Unmute everyone else"
+ label="Unmute everyone"
layout="topleft"
- name="ModerateVoiceUnMuteOthers">
+ name="ModerateVoiceUnmute">
<on_click
function="ParticipantList.ModerateVoice"
- parameter="others" />
+ parameter="unmute_all" />
<on_enable
function="ParticipantList.EnableItem.Moderate"
parameter="can_moderate_voice" />