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 checked { bool }?&
|
||||||
attribute clip { bool }?&
|
attribute clip { bool }?&
|
||||||
attribute default_column { text }?&
|
attribute default_column { text }?&
|
||||||
|
attribute default_column_order { text }?&
|
||||||
attribute dropdown_size { xsd:decimal }?&
|
attribute dropdown_size { xsd:decimal }?&
|
||||||
attribute dropdown_buffer { xsd:decimal }?&
|
attribute dropdown_buffer { xsd:decimal }?&
|
||||||
attribute enabled { bool }?&
|
attribute enabled { bool }?&
|
||||||
|
@ -202,6 +202,9 @@
|
|||||||
<optional>
|
<optional>
|
||||||
<attribute name="default_column"/>
|
<attribute name="default_column"/>
|
||||||
</optional>
|
</optional>
|
||||||
|
<optional>
|
||||||
|
<attribute name="default_column_order"/>
|
||||||
|
</optional>
|
||||||
<optional>
|
<optional>
|
||||||
<attribute name="dropdown_size">
|
<attribute name="dropdown_size">
|
||||||
<data type="decimal"/>
|
<data type="decimal"/>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
<!-- Left panel: Player list. -->
|
<!-- Left panel: Player list. -->
|
||||||
<object name="leftPanel" size="20 30 20% 100%-280">
|
<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%">
|
<def id="status" width="26%">
|
||||||
<translatableAttribute id="heading">Status</translatableAttribute>
|
<translatableAttribute id="heading">Status</translatableAttribute>
|
||||||
</def>
|
</def>
|
||||||
@ -172,7 +172,7 @@
|
|||||||
|
|
||||||
<!-- Middle panel: Filters, game list, chat box. -->
|
<!-- Middle panel: Filters, game list, chat box. -->
|
||||||
<object name="middlePanel" size="20%+5 5% 100%-255 97.2%">
|
<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="SelectionChange">updateGameSelection();</action>
|
||||||
<action on="SelectionColumnChange">applyFilters();</action>
|
<action on="SelectionColumnChange">applyFilters();</action>
|
||||||
<action on="mouseleftdoubleclickitem">joinSelectedGame();</action>
|
<action on="mouseleftdoubleclickitem">joinSelectedGame();</action>
|
||||||
|
@ -49,9 +49,6 @@ function init()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// By default, sort replays by date in descending order
|
|
||||||
Engine.GetGUIObjectByName("replaySelection").selected_column_order = -1;
|
|
||||||
|
|
||||||
loadReplays();
|
loadReplays();
|
||||||
displayReplayList();
|
displayReplayList();
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
</object>
|
</object>
|
||||||
|
|
||||||
<!-- Replay List in that left panel -->
|
<!-- 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="SelectionChange">displayReplayDetails();</action>
|
||||||
<action on="SelectionColumnChange">displayReplayList();</action>
|
<action on="SelectionColumnChange">displayReplayList();</action>
|
||||||
|
@ -24,21 +24,21 @@
|
|||||||
#include "soundmanager/ISoundManager.h"
|
#include "soundmanager/ISoundManager.h"
|
||||||
|
|
||||||
COList::COList()
|
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_CGUISpriteInstance, "sprite_heading");
|
||||||
AddSetting(GUIST_bool, "sortable"); // The actual sorting is done in JS for more versatility
|
AddSetting(GUIST_bool, "sortable"); // The actual sorting is done in JS for more versatility
|
||||||
AddSetting(GUIST_CStr, "selected_column");
|
AddSetting(GUIST_CStr, "selected_column");
|
||||||
AddSetting(GUIST_int, "selected_column_order");
|
AddSetting(GUIST_int, "selected_column_order");
|
||||||
AddSetting(GUIST_CStr, "default_column");
|
AddSetting(GUIST_CStr, "default_column");
|
||||||
|
AddSetting(GUIST_int, "default_column_order");
|
||||||
AddSetting(GUIST_int, "selected_def");
|
AddSetting(GUIST_int, "selected_def");
|
||||||
AddSetting(GUIST_CGUISpriteInstance, "sprite_asc"); // Show the order of sorting
|
AddSetting(GUIST_CGUISpriteInstance, "sprite_asc"); // Show the order of sorting
|
||||||
AddSetting(GUIST_CGUISpriteInstance, "sprite_desc");
|
AddSetting(GUIST_CGUISpriteInstance, "sprite_desc");
|
||||||
AddSetting(GUIST_CGUISpriteInstance, "sprite_not_sorted");
|
AddSetting(GUIST_CGUISpriteInstance, "sprite_not_sorted");
|
||||||
|
|
||||||
// Nothing is selected by default.
|
|
||||||
GUI<CStr>::SetSetting(this, "selected_column", "");
|
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);
|
GUI<int>::SetSetting(this, "selected_def", -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,6 +98,12 @@ void COList::SetupText()
|
|||||||
if (m_SelectedDef != (size_t)-1)
|
if (m_SelectedDef != (size_t)-1)
|
||||||
GUI<CStr>::SetSetting(this, "selected_column", m_ObjectsDefs[m_SelectedDef].m_Id.substr(5));
|
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
|
// Generate texts
|
||||||
float buffered_y = 0.f;
|
float buffered_y = 0.f;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user