diff --git a/indra/llcommon/llchat.h b/indra/llcommon/llchat.h
index 2823b770db..7f196c9fd3 100644
--- a/indra/llcommon/llchat.h
+++ b/indra/llcommon/llchat.h
@@ -64,7 +64,8 @@ typedef enum e_chat_style
{
CHAT_STYLE_NORMAL,
CHAT_STYLE_IRC,
- CHAT_STYLE_HISTORY
+ CHAT_STYLE_HISTORY,
+ CHAT_STYLE_MODERATOR
}EChatStyle;
// A piece of chat
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index cb06f3914f..e76ba4aa93 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -13552,5 +13552,16 @@ Change of this parameter will affect the layout of buttons in notification toast
Value
+ PhoenixBoldGroupMods
+
diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp
index 4e79590a25..d0575bf7b9 100644
--- a/indra/newview/llchathistory.cpp
+++ b/indra/newview/llchathistory.cpp
@@ -833,6 +833,12 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL
style_params.color(LLColor4::grey);
style_params.readonly_color(LLColor4::grey);
}
+
+ // Bold group moderators' chat -KC
+ if (chat.mChatStyle == CHAT_STYLE_MODERATOR)
+ {
+ style_params.font.style = irc_me ? "ITALICBOLD" : "BOLD";
+ }
if (use_plain_text_chat_history)
{
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index bf37968f8c..d279c5f705 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -1070,6 +1070,7 @@ void LLIMFloater::sessionInitReplyReceived(const LLUUID& im_session_id)
void LLIMFloater::updateMessages()
{
bool use_plain_text_chat_history = gSavedSettings.getBOOL("PlainTextChatHistory");
+ bool bold_mods_chat = gSavedSettings.getBOOL("PhoenixBoldGroupMods");
std::list messages;
@@ -1087,6 +1088,9 @@ void LLIMFloater::updateMessages()
{
LLSD chat_args;
chat_args["use_plain_text_chat_history"] = use_plain_text_chat_history;
+
+ LLIMModel::LLIMSession* pIMSession = LLIMModel::instance().findIMSession(mSessionID);
+ RLV_ASSERT(pIMSession);
std::ostringstream message;
std::list::const_reverse_iterator iter = messages.rbegin();
@@ -1107,6 +1111,16 @@ void LLIMFloater::updateMessages()
chat.mFromName = from;
chat.mTimeStr = time;
chat.mChatStyle = is_history ? CHAT_STYLE_HISTORY : chat.mChatStyle;
+
+ // Bold group moderators' chat -KC
+ if (!is_history && bold_mods_chat && pIMSession && pIMSession->mSpeakers)
+ {
+ LLPointer speakerp = pIMSession->mSpeakers->findSpeaker(from_id);
+ if (speakerp && speakerp->mIsModerator)
+ {
+ chat.mChatStyle = CHAT_STYLE_MODERATOR;
+ }
+ }
// process offer notification
if (msg.has("notification_id"))