diff options
author | Merov Linden <merov@lindenlab.com> | 2012-11-06 18:32:45 -0800 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2012-11-06 18:32:45 -0800 |
commit | 8c64fbf1b76e46fa3f5a8f8c6baba30d4583b7ec (patch) | |
tree | 6a3dd8a0c9c7655e6e9ac8abe63641fbcbbba6e0 /indra/newview/llimfloatercontainer.cpp | |
parent | 2abe0fea5c048395a75dd266bb065d8e8abd95a5 (diff) |
CHUI-468 : WIP : More cleanup and fix of the participants sorting in LLIMConversation
Diffstat (limited to 'indra/newview/llimfloatercontainer.cpp')
-rw-r--r-- | indra/newview/llimfloatercontainer.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp index e6657260e6..4b992a2e0f 100644 --- a/indra/newview/llimfloatercontainer.cpp +++ b/indra/newview/llimfloatercontainer.cpp @@ -764,6 +764,19 @@ void LLIMFloaterContainer::setSortOrder(const LLConversationSort& order) mConversationsRoot->arrangeAll(); // try to keep selection onscreen, even if it wasn't to start with mConversationsRoot->scrollToShowSelection(); + + // Notify all conversation (torn off or not) of the change to the sort order + // Note: For the moment, the sort order is *unique* across all conversations. That might change in the future. + for (conversations_items_map::iterator it_session = mConversationsItems.begin(); it_session != mConversationsItems.end(); it_session++) + { + LLUUID session_id = it_session->first; + LLIMConversation *conversation_floater = (session_id.isNull() ? (LLIMConversation*)(LLFloaterReg::findTypedInstance<LLNearbyChat>("nearby_chat")) : (LLIMConversation*)(LLIMFloater::findInstance(session_id))); + if (conversation_floater) + { + conversation_floater->setSortOrder(order); + } + } + gSavedSettings.setU32("ConversationSortOrder", (U32)order); } |