diff options
author | James Cook <james@lindenlab.com> | 2008-04-03 18:43:54 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2008-04-03 18:43:54 +0000 |
commit | 55c25229b79b1755c989e5996c8e8d118f369721 (patch) | |
tree | 1fa882bc7e11dc8aec031d5e268131809874168a /indra/newview/llcallingcard.cpp | |
parent | b3fcfa16ba8b984163c38904e165052a34be6dab (diff) |
svn merge -r 83778:83944 maint-ui-10-merge
QAR-442
Diffstat (limited to 'indra/newview/llcallingcard.cpp')
-rw-r--r-- | indra/newview/llcallingcard.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp index 0e0880959e..11d4f4c651 100644 --- a/indra/newview/llcallingcard.cpp +++ b/indra/newview/llcallingcard.cpp @@ -60,6 +60,8 @@ #include "llviewerobjectlist.h" #include "llviewerwindow.h" #include "llvoavatar.h" +#include "llimview.h" +#include "llimpanel.h" ///---------------------------------------------------------------------------- /// Local function declarations, constants, enums, and typedefs @@ -671,7 +673,18 @@ void LLAvatarTracker::processNotify(LLMessageSystem* msg, bool online) } if(notify) { + // Popup a notify box with online status of this agent LLNotifyBox::showXml(online ? "FriendOnline" : "FriendOffline", args); + + // If there's an open IM session with this agent, send a notification there too. + LLUUID session_id = LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, agent_id); + LLFloaterIMPanel *floater = gIMMgr->findFloaterBySession(session_id); + if (floater) + { + LLUIString notifyMsg = LLNotifyBox::getTemplateMessage((online ? "FriendOnline" : "FriendOffline"),args); + if (!notifyMsg.empty()) + floater->addHistoryLine(notifyMsg,gSavedSettings.getColor4("SystemChatColor")); + } } mModifyMask |= LLFriendObserver::ONLINE; |