diff options
author | James Cook <james@lindenlab.com> | 2010-05-25 11:40:29 -0700 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2010-05-25 11:40:29 -0700 |
commit | d6ea42984553b7adb6f26cf2ed094d32e36814d2 (patch) | |
tree | 25fe04a20b89ce63ad5c6b32856371c46a728c08 /indra/newview/llimview.cpp | |
parent | fb51f985c35f5dae85057ad932928b8fcd44cc73 (diff) |
DEV-50013 Display names load at startup in local chat/IM history
Had to change the chat log file format to include agent_id.
Code will load viewer 2.0 logs, but viewer 2.0 will just discard
data from 2.1 logs, which seems OK. Reviewed with Leyla.
Diffstat (limited to 'indra/newview/llimview.cpp')
-rw-r--r-- | indra/newview/llimview.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index e915d3ad70..e6db942bad 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -270,7 +270,7 @@ void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::ES // no text notifications break; case P2P_SESSION: - gCacheName->getFullName(mOtherParticipantID, other_avatar_name); + gCacheName->getFullName(mOtherParticipantID, other_avatar_name); // voice if(direction == LLVoiceChannel::INCOMING_CALL) { @@ -405,13 +405,17 @@ void LLIMModel::LLIMSession::addMessagesFromHistory(const std::list<LLSD>& histo const LLSD& msg = *it; std::string from = msg[IM_FROM]; - LLUUID from_id = LLUUID::null; - if (msg[IM_FROM_ID].isUndefined()) + LLUUID from_id; + if (msg[IM_FROM_ID].isDefined()) { + from_id = msg[IM_FROM_ID].asUUID(); + } + else + { + // Legacy chat logs only wrote the legacy name, not the agent_id gCacheName->getUUID(from, from_id); } - std::string timestamp = msg[IM_TIME]; std::string text = msg[IM_TEXT]; @@ -2582,7 +2586,7 @@ void LLIMMgr::inviteToSession( { if (caller_name.empty()) { - gCacheName->get(caller_id, false, + gCacheName->get(caller_id, false, // voice boost::bind(&LLIMMgr::onInviteNameLookup, payload, _1, _2, _3)); } else @@ -2816,12 +2820,14 @@ void LLIMMgr::noteOfflineUsers( for(S32 i = 0; i < count; ++i) { info = at.getBuddyInfo(ids.get(i)); - std::string full_name; - if(info && !info->isOnline() - && gCacheName->getFullName(ids.get(i), full_name)) + LLAvatarName av_name; + if (info + && !info->isOnline() + && LLAvatarNameCache::get(ids.get(i), &av_name)) { LLUIString offline = LLTrans::getString("offline_message"); - offline.setArg("[NAME]", full_name); + // Use display name only because this user is your friend + offline.setArg("[NAME]", av_name.mDisplayName); im_model.proccessOnlineOfflineNotification(session_id, offline); } } |