Index: ps/trunk/binaries/data/mods/mod/gui/gui.rng =================================================================== --- ps/trunk/binaries/data/mods/mod/gui/gui.rng +++ ps/trunk/binaries/data/mods/mod/gui/gui.rng @@ -107,6 +107,12 @@ + + + asc + desc + + @@ -596,6 +602,11 @@ + + + + + Index: ps/trunk/source/gui/ObjectTypes/COList.h =================================================================== --- ps/trunk/source/gui/ObjectTypes/COList.h +++ ps/trunk/source/gui/ObjectTypes/COList.h @@ -30,7 +30,7 @@ public: COListColumn(IGUIObject* owner, const CStr& cid) : m_Id(cid), m_Width(0), m_Heading(owner, "heading_" + cid), m_List(owner, "list_" + cid), - m_Hidden(owner, "hidden_" + cid, false) + m_Hidden(owner, "hidden_" + cid, false), m_SortOrder(owner, " sort_order_" + cid, -1) {} // Avoid copying the strings. NONCOPYABLE(COListColumn); @@ -41,6 +41,7 @@ CGUISimpleSetting m_Heading; // CGUIString?? CGUISimpleSetting m_List; CGUISimpleSetting m_Hidden; + CGUISimpleSetting m_SortOrder; }; /** Index: ps/trunk/source/gui/ObjectTypes/COList.cpp =================================================================== --- ps/trunk/source/gui/ObjectTypes/COList.cpp +++ ps/trunk/source/gui/ObjectTypes/COList.cpp @@ -161,7 +161,7 @@ { if (column.m_Id != static_cast(m_SelectedColumn)) { - m_SelectedColumnOrder.Set(-1, true); + m_SelectedColumnOrder.Set(column.m_SortOrder, true); CStr selected_column = column.m_Id; m_SelectedColumn.Set(selected_column, true); } @@ -244,6 +244,10 @@ { column.m_Heading.Set(attr_value.FromUTF8(), false); } + else if (attr_name == "sort_order") + { + column.m_SortOrder.Set(attr_value == "desc" ? -1 : 1, false); + } } for (XMBElement grandchild : child.GetChildNodes())