From a686ecb08875570db5457773273d8a2636ac3124 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Fri, 27 Nov 2015 10:44:59 +0100 Subject: [PATCH] FIRE-16846: Make friend list in avatar chooser sortable by splitting the list up in display and user name (the same way as in the other tabs) --- indra/newview/llfloateravatarpicker.cpp | 42 ++++++++++++++----- .../default/xui/da/floater_avatar_picker.xml | 5 ++- .../default/xui/de/floater_avatar_picker.xml | 9 ++-- .../default/xui/en/floater_avatar_picker.xml | 14 ++++++- .../default/xui/es/floater_avatar_picker.xml | 9 ++-- .../default/xui/fr/floater_avatar_picker.xml | 9 ++-- .../default/xui/it/floater_avatar_picker.xml | 9 ++-- .../default/xui/ja/floater_avatar_picker.xml | 5 ++- .../default/xui/pl/floater_avatar_picker.xml | 4 ++ .../default/xui/pt/floater_avatar_picker.xml | 9 ++-- .../default/xui/ru/floater_avatar_picker.xml | 4 ++ .../default/xui/tr/floater_avatar_picker.xml | 4 ++ .../default/xui/zh/floater_avatar_picker.xml | 4 ++ 13 files changed, 98 insertions(+), 29 deletions(-) diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp index ba7426ce5c..abeefe0989 100755 --- a/indra/newview/llfloateravatarpicker.cpp +++ b/indra/newview/llfloateravatarpicker.cpp @@ -478,19 +478,41 @@ void LLFloaterAvatarPicker::populateFriend() { LLScrollListCtrl* friends_scroller = getChild("Friends"); friends_scroller->deleteAllItems(); - LLCollectAllBuddies collector; - LLAvatarTracker::instance().applyFunctor(collector); - LLCollectAllBuddies::buddy_map_t::iterator it; - - for(it = collector.mOnline.begin(); it!=collector.mOnline.end(); it++) + // FIRE-16846: Make friend list sortable + //LLCollectAllBuddies collector; + //LLAvatarTracker::instance().applyFunctor(collector); + //LLCollectAllBuddies::buddy_map_t::iterator it; + // + //for(it = collector.mOnline.begin(); it!=collector.mOnline.end(); it++) + //{ + // friends_scroller->addStringUUIDItem(it->second, it->first); + //} + //for(it = collector.mOffline.begin(); it!=collector.mOffline.end(); it++) + //{ + // friends_scroller->addStringUUIDItem(it->second, it->first); + //} + //friends_scroller->sortByColumnIndex(0, TRUE); + + LLAvatarTracker::buddy_map_t friend_list; + LLAvatarTracker::instance().copyBuddyList(friend_list); + for (LLAvatarTracker::buddy_map_t::iterator it = friend_list.begin(); it != friend_list.end(); ++it) { - friends_scroller->addStringUUIDItem(it->second, it->first); - } - for(it = collector.mOffline.begin(); it!=collector.mOffline.end(); it++) - { - friends_scroller->addStringUUIDItem(it->second, it->first); + const LLUUID& av_id = it->first; + + LLSD element; + element["id"] = av_id; + + LLAvatarName av_name; + LLAvatarNameCache::get(av_id, &av_name); // Should have the name in the cache already + element["columns"][0]["column"] = "name"; + element["columns"][0]["value"] = av_name.getDisplayName(); + element["columns"][1]["column"] = "username"; + element["columns"][1]["value"] = av_name.getUserName(); + + friends_scroller->addElement(element); } friends_scroller->sortByColumnIndex(0, TRUE); + // } void LLFloaterAvatarPicker::drawFrustum() diff --git a/indra/newview/skins/default/xui/da/floater_avatar_picker.xml b/indra/newview/skins/default/xui/da/floater_avatar_picker.xml index 172d703ac2..37e43803fa 100755 --- a/indra/newview/skins/default/xui/da/floater_avatar_picker.xml +++ b/indra/newview/skins/default/xui/da/floater_avatar_picker.xml @@ -33,6 +33,10 @@ Vælg en person: + + + + @@ -42,7 +46,6 @@ meter - + width="132"> + + + Elige a un residente: + + + + Elegir a alguien que esté cerca: - + Metros -