summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorDave SIMmONs <simon@lindenlab.com>2011-04-07 17:03:42 -0700
committerDave SIMmONs <simon@lindenlab.com>2011-04-07 17:03:42 -0700
commitb84ac95c2fa3f020b656737244c38222351b8d36 (patch)
tree2594c73b13d2fc0ffe849a0af08e3066daf264ad /indra
parent37c15d211b55d979ecea78237b22513ee663eb7a (diff)
ER-671: add llRegionSayTo(). Cleaned up some chat code, implemented '@' special case. Reviewed by Kelly
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llnearbychathandler.cpp35
-rw-r--r--indra/newview/llviewermessage.cpp12
2 files changed, 26 insertions, 21 deletions
diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp
index 2566bf1095..11dc496311 100644
--- a/indra/newview/llnearbychathandler.cpp
+++ b/indra/newview/llnearbychathandler.cpp
@@ -489,6 +489,27 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, const LLSD &args)
// tmp_chat.mFromName = tmp_chat.mFromID.asString();
}
+ // Build notification data
+ LLSD notification;
+ notification["message"] = chat_msg.mText;
+ notification["from"] = chat_msg.mFromName;
+ notification["from_id"] = chat_msg.mFromID;
+ notification["time"] = chat_msg.mTime;
+ notification["source"] = (S32)chat_msg.mSourceType;
+ notification["chat_type"] = (S32)chat_msg.mChatType;
+ notification["chat_style"] = (S32)chat_msg.mChatStyle;
+ // Pass sender info so that it can be rendered properly (STORM-1021).
+ notification["sender_slurl"] = LLViewerChat::getSenderSLURL(chat_msg, args);
+
+ if (chat_msg.mChatType == CHAT_TYPE_DIRECT &&
+ chat_msg.mText.length() > 0 &&
+ chat_msg.mText[0] == '@')
+ {
+ // Send event on to LLEventStream and exit
+ sChatWatcher->post(notification);
+ return;
+ }
+
// don't show toast and add message to chat history on receive debug message
// with disabled setting showing script errors or enabled setting to show script
// errors in separate window.
@@ -531,19 +552,7 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, const LLSD &args)
}
- // Build data and send event on to LLEventStream
- LLSD notification;
- notification["message"] = chat_msg.mText;
- notification["from"] = chat_msg.mFromName;
- notification["from_id"] = chat_msg.mFromID;
- notification["time"] = chat_msg.mTime;
- notification["source"] = (S32)chat_msg.mSourceType;
- notification["chat_type"] = (S32)chat_msg.mChatType;
- notification["chat_style"] = (S32)chat_msg.mChatStyle;
- // Pass sender info so that it can be rendered properly (STORM-1021).
- notification["sender_slurl"] = LLViewerChat::getSenderSLURL(chat_msg, args);
-
-
+ // Send event on to LLEventStream
sChatWatcher->post(notification);
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 9641a0901c..5792bf2c03 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -3202,7 +3202,6 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
if (is_audible)
{
BOOL visible_in_chat_bubble = FALSE;
- std::string verb;
color.setVec(1.f,1.f,1.f,1.f);
msg->getStringFast(_PREHASH_ChatData, _PREHASH_Message, mesg);
@@ -3251,18 +3250,19 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
}
else
{
+ chat.mText = "";
switch(chat.mChatType)
{
case CHAT_TYPE_WHISPER:
- verb = LLTrans::getString("whisper") + " ";
+ chat.mText = LLTrans::getString("whisper") + " ";
break;
case CHAT_TYPE_DEBUG_MSG:
case CHAT_TYPE_OWNER:
case CHAT_TYPE_NORMAL:
- verb = "";
+ case CHAT_TYPE_DIRECT:
break;
case CHAT_TYPE_SHOUT:
- verb = LLTrans::getString("shout") + " ";
+ chat.mText = LLTrans::getString("shout") + " ";
break;
case CHAT_TYPE_START:
case CHAT_TYPE_STOP:
@@ -3270,13 +3270,9 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
break;
default:
LL_WARNS("Messaging") << "Unknown type " << chat.mChatType << " in chat!" << LL_ENDL;
- verb = "";
break;
}
-
- chat.mText = "";
- chat.mText += verb;
chat.mText += mesg;
}