CHUI-469 : WIP : Add participants to the nearby chat torn off panel

meow-7.2.2
Merov Linden 2012-10-26 19:12:19 -07:00
parent 36b1b4c4b6
commit 09282019ef
4 changed files with 11 additions and 8 deletions

View File

@ -174,7 +174,7 @@ BOOL LLIMConversation::postBuild()
setOpenPositioning(LLFloaterEnums::POSITIONING_RELATIVE);
buildParticipantList();
buildConversationViewParticipant();
updateHeaderAndToolbar();
@ -307,7 +307,7 @@ void LLIMConversation::appendMessage(const LLChat& chat, const LLSD &args)
}
void LLIMConversation::buildParticipantList()
void LLIMConversation::buildConversationViewParticipant()
{
// Get the model list
LLParticipantList* item = getParticipantList();

View File

@ -77,6 +77,7 @@ public:
void removeConversationViewParticipant(const LLUUID& participant_id);
void updateConversationViewParticipant(const LLUUID& participant_id);
void refreshConversation();
void buildConversationViewParticipant();
protected:
@ -95,7 +96,6 @@ protected:
// refresh a visual state of the Call button
void updateCallBtnState(bool callIsActive);
void buildParticipantList();
void onSortMenuItemClicked(const LLSD& userdata);
void hideOrShowTitle(); // toggle the floater's drag handle

View File

@ -825,8 +825,7 @@ void LLIMFloater::sessionInitReplyReceived(const LLUUID& im_session_id)
if (mSessionID != im_session_id)
{
initIMSession(im_session_id);
buildParticipantList();
buildConversationViewParticipant();
}
initIMFloater();

View File

@ -429,7 +429,7 @@ bool LLIMFloaterContainer::onConversationModelEvent(const LLSD& event)
return false;
}
LLConversationViewParticipant* participant_view = session_view->findParticipant(participant_id);
LLIMFloater *conversation_floater = LLIMFloater::findInstance(session_id);
LLIMConversation *conversation_floater = (session_id.isNull() ? (LLIMConversation*)(LLFloaterReg::findTypedInstance<LLNearbyChat>("nearby_chat")) : (LLIMConversation*)(LLIMFloater::findInstance(session_id)));
if (type == "remove_participant")
{
@ -830,7 +830,6 @@ void LLIMFloaterContainer::getParticipantUUIDs(uuid_vec_t& selected_uuids)
//When a one-on-one conversation exists, retrieve the participant id from the conversation floater
else if(conversationItem->getType() == LLConversationItem::CONV_SESSION_1_ON_1)
{
llinfos << "Merov debug : getParticipantUUIDs, LLIMFloater::findInstance, id = " << conversationItem->getUUID() << llendl;
LLIMFloater *conversationFloater = LLIMFloater::findInstance(conversationItem->getUUID());
LLUUID participantID = conversationFloater->getOtherParticipantUUID();
selected_uuids.push_back(participantID);
@ -906,7 +905,6 @@ void LLIMFloaterContainer::doToSelectedConversation(const std::string& command,
{
//Find the conversation floater associated with the selected id
const LLConversationItem * conversationItem = getCurSelectedViewModelItem();
llinfos << "Merov debug : doToSelectedConversation, LLIMFloater::findInstance, id = " << conversationItem->getUUID() << llendl;
LLIMFloater *conversationFloater = LLIMFloater::findInstance(conversationItem->getUUID());
if(conversationFloater)
@ -1234,6 +1232,12 @@ LLConversationItem* LLIMFloaterContainer::addConversationListItem(const LLUUID&
participant_view->addToFolder(widget);
current_participant_model++;
}
// Do that too for the conversation dialog
LLIMConversation *conversation_floater = (uuid.isNull() ? (LLIMConversation*)(LLFloaterReg::findTypedInstance<LLNearbyChat>("nearby_chat")) : (LLIMConversation*)(LLIMFloater::findInstance(uuid)));
if (conversation_floater)
{
conversation_floater->buildConversationViewParticipant();
}
if (isWidgetSelected)
{