summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloatercontainer.cpp
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2012-11-06 18:32:45 -0800
committerMerov Linden <merov@lindenlab.com>2012-11-06 18:32:45 -0800
commit8c64fbf1b76e46fa3f5a8f8c6baba30d4583b7ec (patch)
tree6a3dd8a0c9c7655e6e9ac8abe63641fbcbbba6e0 /indra/newview/llimfloatercontainer.cpp
parent2abe0fea5c048395a75dd266bb065d8e8abd95a5 (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.cpp13
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);
}