diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index f4a8ac80dd4a4e5cf0f37da0c50b3eba60e80a86..28f783f8758143bb7e5c0bc00450947564467843 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -435,6 +435,10 @@ class LLChatHistoryHeader: public LLPanel { LLAvatarActions::toggleMute(getAvatarId(), LLMute::flagTextChat); } + else if (level == "report_abuse") + { + ALAvatarActions::reportAbuse(getAvatarId()); + } else if(level == "toggle_allow_text_chat") { LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(mSessionID); @@ -918,6 +922,7 @@ class LLChatHistoryHeader: public LLPanel menu->setItemEnabled("Pay", false); menu->setItemEnabled("Block Unblock", false); menu->setItemEnabled("Mute Text", false); + menu->setItemEnabled("Report", false); } else { @@ -930,9 +935,7 @@ class LLChatHistoryHeader: public LLPanel menu->setItemEnabled("Request Teleport", LLAvatarActions::canOfferTeleport(mAvatarID)); menu->setItemEnabled("Voice Call", LLAvatarActions::canCall()); - // We should only show 'Zoom in' item in a nearby chat - bool should_show_zoom = !LLIMModel::getInstance()->findIMSession(currentSessionID); - menu->setItemVisible("Zoom In", should_show_zoom && gObjectList.findObject(mAvatarID)); + menu->setItemVisible("Zoom In", ALAvatarActions::canZoomIn(mAvatarID)); menu->setItemEnabled("Block Unblock", LLAvatarActions::canBlock(mAvatarID)); menu->setItemEnabled("Mute Text", LLAvatarActions::canBlock(mAvatarID)); menu->setItemEnabled("Chat History", LLLogChat::isTranscriptExist(mAvatarID)); diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp index 5ca02388f8dbe7a8f5cc44329b4324e760e1ccf2..b7927ea05b6f0211e21cb790a8d06d6b81a4a32e 100644 --- a/indra/newview/llconversationmodel.cpp +++ b/indra/newview/llconversationmodel.cpp @@ -184,6 +184,7 @@ void LLConversationItem::buildParticipantMenuOptions(menuentry_vec_t& items, U32 items.push_back(std::string("pay")); items.push_back(std::string("block_unblock")); items.push_back(std::string("MuteText")); + items.push_back(std::string("report_abuse")); if ((getType() != CONV_SESSION_1_ON_1) && mDisplayModeratorOptions) { diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 9b5f202ca6aa79ce3d12eb857b262f0f6152e7a7..b6ffb884d37984a2d167de0334b4ae11d40ecdff 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -1195,6 +1195,10 @@ void LLFloaterIMContainer::doToParticipants(const std::string& command, uuid_vec { LLAvatarActions::toggleMute(userID, LLMute::flagVoiceChat); } + else if ("report_abuse" == command) + { + ALAvatarActions::reportAbuse(userID); + } else if ("mute_unmute" == command) { LLAvatarActions::toggleMute(userID, LLMute::flagTextChat); diff --git a/indra/newview/skins/default/xui/en/menu_avatar_icon.xml b/indra/newview/skins/default/xui/en/menu_avatar_icon.xml index 70bf4ea77c56226b8c19f526f94b9421cd2c12cd..55ec42bbf7c098be286732816c7ff608fc4eef03 100644 --- a/indra/newview/skins/default/xui/en/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/en/menu_avatar_icon.xml @@ -111,6 +111,12 @@ <on_click function="AvatarIcon.Action" parameter="mute_unmute" /> <on_check function="AvatarIcon.Check" parameter="is_muted" /> </menu_item_check> + <menu_item_call + label="Report" + layout="topleft" + name="Report"> + <on_click function="AvatarIcon.Action" parameter="report_abuse" /> + </menu_item_call> <menu_item_separator layout="topleft" name="Moderator Options Separator"/> <context_menu label="Moderator Options" diff --git a/indra/newview/skins/default/xui/en/menu_conversation.xml b/indra/newview/skins/default/xui/en/menu_conversation.xml index cbf15c22b403d10c4ed18b654032c3b7fe8b4a8d..3d10e3fab9548a262358d93ac6124008e8d4d1db 100644 --- a/indra/newview/skins/default/xui/en/menu_conversation.xml +++ b/indra/newview/skins/default/xui/en/menu_conversation.xml @@ -148,6 +148,12 @@ <on_check function="Avatar.CheckItem" parameter="is_muted" /> <on_enable function="Avatar.EnableItem" parameter="can_block" /> </menu_item_check> + <menu_item_call + label="Report" + layout="topleft" + name="report_abuse"> + <on_click function="Avatar.DoToSelected" parameter="report_abuse" /> + </menu_item_call> <menu_item_call label="Group Profile" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/menu_im_conversation.xml b/indra/newview/skins/default/xui/en/menu_im_conversation.xml index a8d810eb8a6620c61cc44d50694cd884d399a066..b793dcce83fceda795fcb82cd51b1a1736d9d86e 100644 --- a/indra/newview/skins/default/xui/en/menu_im_conversation.xml +++ b/indra/newview/skins/default/xui/en/menu_im_conversation.xml @@ -53,8 +53,8 @@ label="Zoom In" layout="topleft" name="zoom_in"> - <on_click function="Avatar.DoToSelected" parameter="zoom_in" /> - <on_enable function="Avatar.EnableItem" parameter="can_zoom_in" /> + <on_click function="Avatar.GearDoToSelected" parameter="zoom_in" /> + <on_enable function="Avatar.EnableGearItem" parameter="can_zoom_in" /> </menu_item_call> <menu_item_call label="Map" @@ -95,6 +95,12 @@ <on_click function="Avatar.GearDoToSelected" parameter="mute_unmute" /> <on_enable function="Avatar.EnableGearItem" parameter="can_block" /> </menu_item_check> + <menu_item_call + label="Report" + layout="topleft" + name="report_abuse"> + <on_click function="Avatar.GearDoToSelected" parameter="report_abuse" /> + </menu_item_call> <menu_item_separator name="separator_utils"/> <context_menu label="Utilities"