summaryrefslogtreecommitdiff
path: root/indra/newview/llchathistory.cpp
diff options
context:
space:
mode:
authorHoward Stearns <aech@lindenlab.com>2022-05-12 17:09:30 +0000
committerHoward Stearns <aech@lindenlab.com>2022-05-12 17:09:30 +0000
commit44f70be1e447664ec3ee050e85a8e14965fff4e7 (patch)
treec1a5c851a06dd77a27cbc135e4625701e743902e /indra/newview/llchathistory.cpp
parent4cfcbca748e825b4904e7f136fa625b1a0f79dfb (diff)
parent915de3eb556c22216fd3c76e2de4a2ab1953dbe0 (diff)
Merged DRTVWR-544-maint into SL-12238
Diffstat (limited to 'indra/newview/llchathistory.cpp')
-rw-r--r--indra/newview/llchathistory.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp
index c110e0d815..f286e4c075 100644
--- a/indra/newview/llchathistory.cpp
+++ b/indra/newview/llchathistory.cpp
@@ -48,6 +48,7 @@
#include "llspeakers.h" //for LLIMSpeakerMgr
#include "lltrans.h"
#include "llfloaterreg.h"
+#include "llfloaterreporter.h"
#include "llfloatersidepanelcontainer.h"
#include "llmutelist.h"
#include "llstylemap.h"
@@ -403,6 +404,11 @@ public:
{
LLAvatarActions::pay(getAvatarId());
}
+ else if (level == "report_abuse")
+ {
+ std::string time = getChild<LLTextBox>("time_box")->getValue().asString();
+ LLFloaterReporter::showFromChat(mAvatarID, mFrom, time, mText);
+ }
else if(level == "block_unblock")
{
LLAvatarActions::toggleMute(getAvatarId(), LLMute::flagVoiceChat);
@@ -477,6 +483,10 @@ public:
{
return canModerate(userdata);
}
+ else if (level == "report_abuse")
+ {
+ return gAgentID != mAvatarID;
+ }
else if (level == "can_ban_member")
{
return canBanGroupMember(getAvatarId());
@@ -628,6 +638,11 @@ public:
mSessionID = chat.mSessionID;
mSourceType = chat.mSourceType;
+ // To be able to report a message, we need a copy of it's text
+ // and it's easier to store text directly than trying to get
+ // it from a lltextsegment or chat's mEditor
+ mText = chat.mText;
+
//*TODO overly defensive thing, source type should be maintained out there
if((chat.mFromID.isNull() && chat.mFromName.empty()) || (chat.mFromName == SYSTEM_FROM && chat.mFromID.isNull()))
{
@@ -977,6 +992,7 @@ protected:
EChatSourceType mSourceType;
std::string mFrom;
LLUUID mSessionID;
+ std::string mText;
S32 mMinUserNameWidth;
const LLFontGL* mUserNameFont;