summaryrefslogtreecommitdiff
path: root/indra/newview/llimpanel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llimpanel.cpp')
-rw-r--r--indra/newview/llimpanel.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp
index 15475be951..6acd174fc3 100644
--- a/indra/newview/llimpanel.cpp
+++ b/indra/newview/llimpanel.cpp
@@ -51,16 +51,17 @@
#include "llfloater.h"
#include "llfloatercall.h"
#include "llfloatergroupinfo.h"
+#include "llfriendactions.h"
#include "llimview.h"
#include "llinventory.h"
#include "llinventorymodel.h"
#include "llinventoryview.h"
#include "llfloateractivespeakers.h"
-#include "llfloateravatarinfo.h"
#include "llfloaterchat.h"
#include "llkeyboard.h"
#include "lllineeditor.h"
#include "llnotify.h"
+#include "llrecentpeople.h"
#include "llresmgr.h"
#include "lltrans.h"
#include "lltabcontainer.h"
@@ -705,6 +706,15 @@ void LLVoiceChannelGroup::activate()
LLVoiceClient::getInstance()->setNonSpatialChannel(
mURI,
mCredentials);
+
+#if 0 // *TODO
+ if (!gAgent.isInGroup(mSessionID)) // ad-hoc channel
+ {
+ // Add the party to the list of people with which we've recently interacted.
+ for (/*people in the chat*/)
+ LLRecentPeople::instance().add(buddy_id);
+ }
+#endif
}
}
@@ -1014,6 +1024,9 @@ void LLVoiceChannelP2P::activate()
// using the session handle invalidates it. Clear it out here so we can't reuse it by accident.
mSessionHandle.clear();
}
+
+ // Add the party to the list of people with which we've recently interacted.
+ LLRecentPeople::instance().add(mOtherUserID);
}
}
@@ -1168,6 +1181,8 @@ LLFloaterIMPanel::LLFloaterIMPanel(const std::string& session_label,
}
mSpeakers = new LLIMSpeakerMgr(mVoiceChannel);
+ // All participants will be added to the list of people we've recently interacted with.
+ mSpeakers->addListener(&LLRecentPeople::instance(), "add");
LLUICtrlFactory::getInstance()->buildFloater(this, xml_filename, FALSE);
@@ -1735,9 +1750,9 @@ void LLFloaterIMPanel::onClickProfile( void* userdata )
// Bring up the Profile window
LLFloaterIMPanel* self = (LLFloaterIMPanel*) userdata;
- if (self->mOtherParticipantUUID.notNull())
+ if (self->getOtherParticipantID().notNull())
{
- LLFloaterAvatarInfo::showFromDirectory(self->getOtherParticipantID());
+ LLFriendActions::showProfile(self->getOtherParticipantID());
}
}
@@ -1937,6 +1952,9 @@ void deliver_message(const std::string& utf8_text,
default: ; // do nothing
}
}
+
+ // Add the recipient to the recent people list.
+ LLRecentPeople::instance().add(other_participant_id);
}
void LLFloaterIMPanel::sendMsg()