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)

master
Ansariel 2015-11-27 10:44:59 +01:00
parent 1083ed16a1
commit a686ecb088
13 changed files with 98 additions and 29 deletions

View File

@ -478,19 +478,41 @@ void LLFloaterAvatarPicker::populateFriend()
{
LLScrollListCtrl* friends_scroller = getChild<LLScrollListCtrl>("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++)
// <FS:Ansariel> 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);
// </FS:Ansariel>
}
void LLFloaterAvatarPicker::drawFrustum()

View File

@ -33,6 +33,10 @@
<text name="InstructSelectFriend">
Vælg en person:
</text>
<fs_scroll_list name="Friends">
<columns label="Navn" name="name"/>
<columns label="Brugernavn" name="username"/>
</fs_scroll_list>
</panel>
<panel label="Nær ved mig" name="NearMePanel">
<text name="InstructSelectResident">
@ -42,7 +46,6 @@
<text name="meters">
meter
</text>
<button label="Gentegn liste" label_selected="Gentegn liste" name="Refresh"/>
<fs_scroll_list name="NearMe">
<columns label="Navn" name="name"/>
<columns label="Brugernavn" name="username"/>

View File

@ -33,17 +33,20 @@
<text name="InstructSelectFriend">
Wählen Sie eine Person aus:
</text>
<fs_scroll_list name="Friends">
<columns label="Name" name="name"/>
<columns label="Benutzername" name="username"/>
</fs_scroll_list>
</panel>
<panel label="In meiner Nähe" name="NearMePanel">
<text name="InstructSelectResident">
Wählen Sie eine Person aus:
</text>
<slider bottom_delta="-36" label="Bereich" name="near_me_range"/>
<slider label="Bereich" name="near_me_range"/>
<text name="meters">
Meter
</text>
<button follows="top|left" height="28" image_overlay="Refresh_Off" layout="topleft" left_pad="0" name="Refresh" width="28"/>
<fs_scroll_list border="false" follows="all" height="100" layout="topleft" left="0" name="NearMe" sort_column="0" top="50" width="132">
<fs_scroll_list name="NearMe">
<columns label="Name" name="name"/>
<columns label="Benutzername" name="username"/>
</fs_scroll_list>

View File

@ -119,7 +119,7 @@
layout="topleft"
left="10"
name="InstructSelectFriend"
top="5"
top="8"
width="200">
Select a person:
</text>
@ -136,6 +136,7 @@
function="Refresh.FriendList"/>
</button>
<fs_scroll_list
draw_heading="true"
follows="all"
height="120"
layout="topleft"
@ -143,7 +144,16 @@
name="Friends"
sort_column="0"
top_pad="5"
width="132" />
width="132">
<columns
label="Name"
name="name"
width="150" />
<columns
label="Username"
name="username"
width="150" />
</fs_scroll_list>
</panel>
<panel

View File

@ -33,17 +33,20 @@
<text name="InstructSelectFriend">
Elige a un residente:
</text>
<fs_scroll_list name="Friends">
<columns label="Nombre" name="name"/>
<columns label="Nombre de usuario" name="username"/>
</fs_scroll_list>
</panel>
<panel label="Cercanos" name="NearMePanel">
<text name="InstructSelectResident">
Elegir a alguien que esté cerca:
</text>
<slider bottom_delta="-36" label="Alcance" name="near_me_range"/>
<slider label="Alcance" name="near_me_range"/>
<text name="meters">
Metros
</text>
<button font="SansSerifSmall" label="Actualizar la lista" label_selected="Actualizar la lista" left_delta="1" name="Refresh" width="115"/>
<fs_scroll_list bottom_delta="-169" height="159" name="NearMe">
<fs_scroll_list name="NearMe">
<columns label="Nombre" name="name"/>
<columns label="Nombre de usuario" name="username"/>
</fs_scroll_list>

View File

@ -33,17 +33,20 @@
<text name="InstructSelectFriend">
Sélectionner une personne :
</text>
<fs_scroll_list name="Friends">
<columns label="Nom" name="name"/>
<columns label="Nom d&apos;utilisateur" name="username"/>
</fs_scroll_list>
</panel>
<panel label="Près de moi" name="NearMePanel">
<text name="InstructSelectResident">
Sélectionner une personne près de vous :
</text>
<slider bottom_delta="-36" label="Distance" name="near_me_range"/>
<slider label="Distance" name="near_me_range"/>
<text name="meters">
mètres
</text>
<button font="SansSerifSmall" label="Rafraîchir la liste" label_selected="Rafraîchir la liste" left_delta="10" name="Refresh" width="105"/>
<fs_scroll_list bottom_delta="-169" height="159" name="NearMe">
<fs_scroll_list name="NearMe">
<columns label="Nom" name="name"/>
<columns label="Nom d&apos;utilisateur" name="username"/>
</fs_scroll_list>

View File

@ -33,17 +33,20 @@
<text name="InstructSelectFriend">
Scegli una persona:
</text>
<fs_scroll_list name="Friends">
<columns label="Nome" name="name"/>
<columns label="Nome utente" name="username"/>
</fs_scroll_list>
</panel>
<panel label="Vicino a me" name="NearMePanel">
<text name="InstructSelectResident">
Scegli una persona nei dintorni
</text>
<slider bottom_delta="-36" label="Range" name="near_me_range"/>
<slider label="Range" name="near_me_range"/>
<text name="meters">
Metri
</text>
<button font="SansSerifSmall" label="Aggiorna la lista" label_selected="Aggiorna l&apos;elenco" left_delta="6" name="Refresh" width="110"/>
<fs_scroll_list bottom_delta="-169" height="159" name="NearMe">
<fs_scroll_list name="NearMe">
<columns label="Nome" name="name"/>
<columns label="Nome utente" name="username"/>
</fs_scroll_list>

View File

@ -33,6 +33,10 @@
<text name="InstructSelectFriend">
アバターを選択:
</text>
<fs_scroll_list name="Friends">
<columns label="名前" name="name"/>
<columns label="ユーザー名" name="username"/>
</fs_scroll_list>
</panel>
<panel label="自分の近く" name="NearMePanel" width="145">
<text name="InstructSelectResident">
@ -42,7 +46,6 @@
<text name="meters" width="50">
メートル
</text>
<button label="リスト更新" label_selected="リスト更新" name="Refresh"/>
<fs_scroll_list name="NearMe">
<columns label="名前" name="name"/>
<columns label="ユーザー名" name="username"/>

View File

@ -33,6 +33,10 @@
<text name="InstructSelectFriend">
Wybierz osobę:
</text>
<fs_scroll_list name="Friends">
<columns label="Imię" name="name"/>
<columns label="Nazwa użytkownika" name="username"/>
</fs_scroll_list>
</panel>
<panel label="Obok mnie" name="NearMePanel">
<text name="InstructSelectResident">

View File

@ -33,17 +33,20 @@
<text name="InstructSelectFriend">
Selecione alguém:
</text>
<fs_scroll_list name="Friends">
<columns label="Nome" name="name"/>
<columns label="Nome de usuário" name="username"/>
</fs_scroll_list>
</panel>
<panel label="Próximo a Mim" name="NearMePanel">
<text name="InstructSelectResident">
Selecione alguém por perto:
</text>
<slider bottom_delta="-36" label="Faixa" name="near_me_range"/>
<slider label="Faixa" name="near_me_range"/>
<text name="meters">
Metros
</text>
<button font="SansSerifSmall" label="Atualizar Lista" label_selected="Atualizar Lista" left_delta="1" name="Refresh" width="115"/>
<fs_scroll_list bottom_delta="-169" height="159" name="NearMe">
<fs_scroll_list name="NearMe">
<columns label="Nome" name="name"/>
<columns label="Nome de usuário" name="username"/>
</fs_scroll_list>

View File

@ -33,6 +33,10 @@
<text name="InstructSelectFriend">
Выберите жителя:
</text>
<fs_scroll_list name="Friends">
<columns label="Имя" name="name"/>
<columns label="Имя пользователя" name="username"/>
</fs_scroll_list>
</panel>
<panel label="Рядом со мной" name="NearMePanel">
<text name="InstructSelectResident">

View File

@ -33,6 +33,10 @@
<text name="InstructSelectFriend">
Bir kişiyi seçin:
</text>
<fs_scroll_list name="Friends">
<columns label="Ad" name="name"/>
<columns label="Kullanıcı Adı" name="username"/>
</fs_scroll_list>
</panel>
<panel label="Bana Yakın" name="NearMePanel">
<text name="InstructSelectResident">

View File

@ -33,6 +33,10 @@
<text name="InstructSelectFriend">
選擇一個人:
</text>
<fs_scroll_list name="Friends">
<columns label="名稱" name="name"/>
<columns label="使用者名稱" name="username"/>
</fs_scroll_list>
</panel>
<panel label="接近我" name="NearMePanel">
<text name="InstructSelectResident">