summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloater.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llimfloater.cpp')
-rw-r--r--indra/newview/llimfloater.cpp32
1 files changed, 21 insertions, 11 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 059912d5d4..c2c83191e0 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -367,8 +367,6 @@ void LLIMFloater::setDocked(bool docked, bool pop_on_undock)
LLNotificationsUI::LLScreenChannel* channel = dynamic_cast<LLNotificationsUI::LLScreenChannel*>
(LLNotificationsUI::LLChannelManager::getInstance()->
findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID"))));
-
- setCanResize(!docked);
LLTransientDockableFloater::setDocked(docked, pop_on_undock);
@@ -458,7 +456,7 @@ void LLIMFloater::updateMessages()
if (messages.size())
{
- LLUIColor chat_color = LLUIColorTable::instance().getColor("IMChatColor");
+// LLUIColor chat_color = LLUIColorTable::instance().getColor("IMChatColor");
std::ostringstream message;
std::list<LLSD>::const_reverse_iterator iter = messages.rbegin();
@@ -471,31 +469,43 @@ void LLIMFloater::updateMessages()
LLUUID from_id = msg["from_id"].asUUID();
std::string from = from_id != gAgentID ? msg["from"].asString() : LLTrans::getString("You");
std::string message = msg["message"].asString();
- LLStyle::Params style_params;
- style_params.color(chat_color);
LLChat chat;
chat.mFromID = from_id;
chat.mFromName = from;
-
+ chat.mText = message;
+
//Handle IRC styled /me messages.
std::string prefix = message.substr(0, 4);
if (prefix == "/me " || prefix == "/me'")
{
+
+ LLColor4 txt_color = LLUIColorTable::instance().getColor("White");
+ LLViewerChat::getChatColor(chat,txt_color);
+ LLFontGL* fontp = LLViewerChat::getChatFont();
+ std::string font_name = LLFontGL::nameFromFont(fontp);
+ std::string font_size = LLFontGL::sizeFromFont(fontp);
+ LLStyle::Params append_style_params;
+ append_style_params.color(txt_color);
+ append_style_params.readonly_color(txt_color);
+ append_style_params.font.name(font_name);
+ append_style_params.font.size(font_size);
+
if (from.size() > 0)
{
- style_params.font.style = "ITALIC";
+ append_style_params.font.style = "ITALIC";
chat.mText = from + " ";
- mChatHistory->appendWidgetMessage(chat, style_params);
+ mChatHistory->appendWidgetMessage(chat, append_style_params);
}
+
message = message.substr(3);
- style_params.font.style = "UNDERLINE";
- mChatHistory->appendText(message, FALSE, style_params);
+ append_style_params.font.style = "UNDERLINE";
+ mChatHistory->appendText(message, FALSE, append_style_params);
}
else
{
chat.mText = message;
- mChatHistory->appendWidgetMessage(chat, style_params);
+ mChatHistory->appendWidgetMessage(chat);
}
mLastMessageIndex = msg["index"].asInteger();