summaryrefslogtreecommitdiff
path: root/indra/newview/llcallingcard.cpp
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2008-04-03 18:43:54 +0000
committerJames Cook <james@lindenlab.com>2008-04-03 18:43:54 +0000
commit55c25229b79b1755c989e5996c8e8d118f369721 (patch)
tree1fa882bc7e11dc8aec031d5e268131809874168a /indra/newview/llcallingcard.cpp
parentb3fcfa16ba8b984163c38904e165052a34be6dab (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.cpp13
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;