From d40c4f9b8e6ce320dfee39c2ee9b5cbfdfda1392 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Wed, 13 Jan 2010 16:55:23 +0200 Subject: fixed EXT-4073 [BSI] Shouting is malformed in plain chat mode --HG-- branch : product-engine --- indra/newview/llchathistory.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'indra/newview/llchathistory.cpp') diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index cda3e3a419..4f2dbe9fb1 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -500,6 +500,9 @@ void LLChatHistory::appendMessage(const LLChat& chat, const bool use_plain_text_ style_params.font.size(font_size); style_params.font.style(input_append_params.font.style); + //whether to show colon after a name in header copy/past and in plain text mode + bool show_colon = chat.mChatType != CHAT_TYPE_SHOUT && chat.mChatType != CHAT_TYPE_WHISPER; + if (use_plain_text_chat_history) { mEditor->appendText("[" + chat.mTimeStr + "] ", mEditor->getText().size() != 0, style_params); @@ -512,11 +515,11 @@ void LLChatHistory::appendMessage(const LLChat& chat, const bool use_plain_text_ LLStyle::Params link_params(style_params); link_params.fillFrom(LLStyleMap::instance().lookupAgent(chat.mFromID)); // Convert the name to a hotlink and add to message. - mEditor->appendText(chat.mFromName + ": ", false, link_params); + mEditor->appendText(chat.mFromName + (show_colon ? ": " : " "), false, link_params); } else { - mEditor->appendText(chat.mFromName + ": ", false, style_params); + mEditor->appendText(chat.mFromName + (show_colon ? ": " : " "), false, style_params); } } } @@ -562,7 +565,7 @@ void LLChatHistory::appendMessage(const LLChat& chat, const bool use_plain_text_ std::string header_text = "[" + chat.mTimeStr + "] "; if (utf8str_trim(chat.mFromName).size() != 0 && chat.mFromName != SYSTEM_FROM) - header_text += chat.mFromName + ": "; + header_text += chat.mFromName + (show_colon ? ": " : " "); mEditor->appendWidget(p, header_text, false); mLastFromName = chat.mFromName; -- cgit v1.2.3 From 37f55393e42b21f26b34aa21e139d0649076b646 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Wed, 13 Jan 2010 18:52:45 +0200 Subject: fixed EXT04137 BSI] /me shows on the line below in group chat in plain text --HG-- branch : product-engine --- indra/newview/llchathistory.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'indra/newview/llchathistory.cpp') diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index 4f2dbe9fb1..9a1572364f 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -503,11 +503,20 @@ void LLChatHistory::appendMessage(const LLChat& chat, const bool use_plain_text_ //whether to show colon after a name in header copy/past and in plain text mode bool show_colon = chat.mChatType != CHAT_TYPE_SHOUT && chat.mChatType != CHAT_TYPE_WHISPER; + //IRC styled /me messages. + bool irc_me = false; + + std::string prefix = chat.mText.substr(0, 4); + if (prefix == "/me " || prefix == "/me'") + { + irc_me = true; + } + if (use_plain_text_chat_history) { mEditor->appendText("[" + chat.mTimeStr + "] ", mEditor->getText().size() != 0, style_params); - if (utf8str_trim(chat.mFromName).size() != 0) + if (utf8str_trim(chat.mFromName).size() != 0 && !irc_me) { // Don't hotlink any messages from the system (e.g. "Second Life:"), so just add those in plain text. if ( chat.mFromName != SYSTEM_FROM && chat.mFromID.notNull() ) @@ -572,14 +581,13 @@ void LLChatHistory::appendMessage(const LLChat& chat, const bool use_plain_text_ mLastFromID = chat.mFromID; mLastMessageTime = new_message_time; } - //Handle IRC styled /me messages. - std::string prefix = chat.mText.substr(0, 4); - if (prefix == "/me " || prefix == "/me'") + + if (irc_me) { style_params.font.style = "ITALIC"; if (chat.mFromName.size() > 0) - mEditor->appendText(chat.mFromName, TRUE, style_params); + mEditor->appendText(chat.mFromName, FALSE, style_params); // Ensure that message ends with NewLine, to avoid losing of new lines // while copy/paste from text chat. See EXT-3263. mEditor->appendText(chat.mText.substr(3) + NEW_LINE, FALSE, style_params); -- cgit v1.2.3