Specify the default column sorting order in XML instead of JS.
Ref #2405, #3473. This was SVN commit r17670.
This commit is contained in:
parent
9481c168bd
commit
a59833102f
@ -53,6 +53,7 @@ ex_settings =
|
||||
attribute checked { bool }?&
|
||||
attribute clip { bool }?&
|
||||
attribute default_column { text }?&
|
||||
attribute default_column_order { text }?&
|
||||
attribute dropdown_size { xsd:decimal }?&
|
||||
attribute dropdown_buffer { xsd:decimal }?&
|
||||
attribute enabled { bool }?&
|
||||
|
@ -202,6 +202,9 @@
|
||||
<optional>
|
||||
<attribute name="default_column"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="default_column_order"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="dropdown_size">
|
||||
<data type="decimal"/>
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
<!-- Left panel: Player list. -->
|
||||
<object name="leftPanel" size="20 30 20% 100%-280">
|
||||
<object name="playersBox" style="ModernList" sprite_asc="ModernArrowDown" default_column="name" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" type="olist" sortable="true" size="0 0 100% 100%" font="sans-bold-stroke-13">
|
||||
<object name="playersBox" style="ModernList" sprite_asc="ModernArrowDown" default_column="name" default_column_order="1" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" type="olist" sortable="true" size="0 0 100% 100%" font="sans-bold-stroke-13">
|
||||
<def id="status" width="26%">
|
||||
<translatableAttribute id="heading">Status</translatableAttribute>
|
||||
</def>
|
||||
@ -172,7 +172,7 @@
|
||||
|
||||
<!-- Middle panel: Filters, game list, chat box. -->
|
||||
<object name="middlePanel" size="20%+5 5% 100%-255 97.2%">
|
||||
<object name="gamesBox" style="ModernList" sprite_asc="ModernArrowDown" default_column="status" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" type="olist" sortable="true" size="0 25 100% 48%" font="sans-stroke-13">
|
||||
<object name="gamesBox" style="ModernList" sprite_asc="ModernArrowDown" default_column="status" default_column_order="1" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" type="olist" sortable="true" size="0 25 100% 48%" font="sans-stroke-13">
|
||||
<action on="SelectionChange">updateGameSelection();</action>
|
||||
<action on="SelectionColumnChange">applyFilters();</action>
|
||||
<action on="mouseleftdoubleclickitem">joinSelectedGame();</action>
|
||||
|
@ -49,9 +49,6 @@ function init()
|
||||
return;
|
||||
}
|
||||
|
||||
// By default, sort replays by date in descending order
|
||||
Engine.GetGUIObjectByName("replaySelection").selected_column_order = -1;
|
||||
|
||||
loadReplays();
|
||||
displayReplayList();
|
||||
}
|
||||
|
@ -61,7 +61,7 @@
|
||||
</object>
|
||||
|
||||
<!-- Replay List in that left panel -->
|
||||
<object name="replaySelection" size="0 35 100% 100%" style="ModernList" type="olist" sortable="true" default_column="name" sprite_asc="ModernArrowDown" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" font="sans-stroke-13">
|
||||
<object name="replaySelection" size="0 35 100% 100%" style="ModernList" type="olist" sortable="true" default_column="name" default_column_order="-1" sprite_asc="ModernArrowDown" sprite_desc="ModernArrowUp" sprite_not_sorted="ModernNotSorted" font="sans-stroke-13">
|
||||
|
||||
<action on="SelectionChange">displayReplayDetails();</action>
|
||||
<action on="SelectionColumnChange">displayReplayList();</action>
|
||||
|
@ -24,21 +24,21 @@
|
||||
#include "soundmanager/ISoundManager.h"
|
||||
|
||||
COList::COList()
|
||||
: CList(), m_HeadingHeight(30.f), m_SelectedDef(-1), m_SelectedColumnOrder(1)
|
||||
: CList(), m_HeadingHeight(30.f), m_SelectedDef(-1), m_SelectedColumnOrder(0)
|
||||
{
|
||||
AddSetting(GUIST_CGUISpriteInstance, "sprite_heading");
|
||||
AddSetting(GUIST_bool, "sortable"); // The actual sorting is done in JS for more versatility
|
||||
AddSetting(GUIST_CStr, "selected_column");
|
||||
AddSetting(GUIST_int, "selected_column_order");
|
||||
AddSetting(GUIST_CStr, "default_column");
|
||||
AddSetting(GUIST_int, "default_column_order");
|
||||
AddSetting(GUIST_int, "selected_def");
|
||||
AddSetting(GUIST_CGUISpriteInstance, "sprite_asc"); // Show the order of sorting
|
||||
AddSetting(GUIST_CGUISpriteInstance, "sprite_desc");
|
||||
AddSetting(GUIST_CGUISpriteInstance, "sprite_not_sorted");
|
||||
|
||||
// Nothing is selected by default.
|
||||
GUI<CStr>::SetSetting(this, "selected_column", "");
|
||||
GUI<int>::SetSetting(this, "selected_column_order", 1);
|
||||
GUI<int>::SetSetting(this, "selected_column_order", 0);
|
||||
GUI<int>::SetSetting(this, "selected_def", -1);
|
||||
}
|
||||
|
||||
@ -98,6 +98,12 @@ void COList::SetupText()
|
||||
if (m_SelectedDef != (size_t)-1)
|
||||
GUI<CStr>::SetSetting(this, "selected_column", m_ObjectsDefs[m_SelectedDef].m_Id.substr(5));
|
||||
|
||||
if (m_SelectedColumnOrder == 0)
|
||||
{
|
||||
GUI<int>::GetSetting(this, "default_column_order", m_SelectedColumnOrder);
|
||||
GUI<int>::SetSetting(this, "selected_column_order", m_SelectedColumnOrder);
|
||||
}
|
||||
|
||||
// Generate texts
|
||||
float buffered_y = 0.f;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user