diff options
author | Merov Linden <merov@lindenlab.com> | 2012-10-26 19:12:19 -0700 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2012-10-26 19:12:19 -0700 |
commit | 09282019ef4d068fe95a94931bf341d8e84f29ea (patch) | |
tree | 8a04f0a798000e5c6a7ca4a29de4042a268e8ad9 | |
parent | 36b1b4c4b6bbae641271b6b1668e1fea4629d899 (diff) |
CHUI-469 : WIP : Add participants to the nearby chat torn off panel
-rw-r--r-- | indra/newview/llimconversation.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llimconversation.h | 2 | ||||
-rw-r--r-- | indra/newview/llimfloater.cpp | 3 | ||||
-rw-r--r-- | indra/newview/llimfloatercontainer.cpp | 10 |
4 files changed, 11 insertions, 8 deletions
diff --git a/indra/newview/llimconversation.cpp b/indra/newview/llimconversation.cpp index cc5adfc2e8..ad34acd941 100644 --- a/indra/newview/llimconversation.cpp +++ b/indra/newview/llimconversation.cpp @@ -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(); diff --git a/indra/newview/llimconversation.h b/indra/newview/llimconversation.h index a2e56bb2ef..4e66d000e6 100644 --- a/indra/newview/llimconversation.h +++ b/indra/newview/llimconversation.h @@ -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 diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 8fbf691897..560b3fa60a 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -825,8 +825,7 @@ void LLIMFloater::sessionInitReplyReceived(const LLUUID& im_session_id) if (mSessionID != im_session_id) { initIMSession(im_session_id); - - buildParticipantList(); + buildConversationViewParticipant(); } initIMFloater(); diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp index 7159b13c8c..89dfd2e149 100644 --- a/indra/newview/llimfloatercontainer.cpp +++ b/indra/newview/llimfloatercontainer.cpp @@ -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) { |