1
1
forked from 0ad/0ad

Lobby player search input

Based on patch By: ffffffff
Comments By: vladislavbelov
Reviewed By: Angen
Differential Revision: D285
This was SVN commit r25873.
This commit is contained in:
bb 2021-08-28 10:55:39 +00:00
parent 5b41b982f9
commit 8459160038
2 changed files with 43 additions and 18 deletions

View File

@ -17,6 +17,10 @@ class PlayerList
this.nickList = [];
this.ratingList = [];
this.playersFilter = Engine.GetGUIObjectByName("playersFilter");
this.playersFilter.onPress = this.selectPlayer.bind(this);
this.playersFilter.onTab = this.autocomplete.bind(this);
this.selectionChangeHandlers = new Set();
this.mouseLeftDoubleClickItemHandlers = new Set();
@ -34,6 +38,20 @@ class PlayerList
this.rebuildPlayerList();
}
selectPlayer()
{
let index = this.playersBox.list.indexOf(this.playersFilter.caption);
if (index != -1)
this.playersBox.selected = index;
}
autocomplete()
{
autoCompleteText(
this.playersFilter,
Engine.GetPlayerList().map(player => player.name));
}
registerSelectionChangeHandler(handler)
{
this.selectionChangeHandlers.add(handler);

View File

@ -1,20 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<object name="playersBox"
style="ModernSortedList"
selected_column="name"
selected_column_order="1"
type="olist"
sortable="true"
font="sans-bold-stroke-13"
>
<column id="buddy" width="12"/>
<column id="status" width="26%">
<translatableAttribute id="heading">Status</translatableAttribute>
</column>
<column id="name" width="48%-12">
<translatableAttribute id="heading">Name</translatableAttribute>
</column>
<column id="rating" width="26%">
<translatableAttribute id="heading">Rating</translatableAttribute>
</column>
<object>
<object name="playersFilter" type="input" style="ModernInput" size="0 0 100% 22" font="sans-bold-13">
<translatableAttribute id="placeholder_text">Search for Player</translatableAttribute>
</object>
<object name="playersBox"
style="ModernSortedList"
size="0 27 100% 100%"
selected_column="name"
selected_column_order="1"
type="olist"
sortable="true"
font="sans-bold-stroke-13"
>
<column id="buddy" width="12"/>
<column id="status" width="26%">
<translatableAttribute id="heading">Status</translatableAttribute>
</column>
<column id="name" width="48%-12">
<translatableAttribute id="heading">Name</translatableAttribute>
</column>
<column id="rating" width="26%">
<translatableAttribute id="heading">Rating</translatableAttribute>
</column>
</object>
</object>