Mercurial > hg > openttd
changeset 5608:5dcef0df6a67 draft
(svn r8065) -Feature: The station list does now remember the sort settings
author | celestar <celestar@openttd.org> |
---|---|
date | Thu, 11 Jan 2007 15:30:35 +0000 |
parents | f746786ae8b3 |
children | 358c07fb3212 |
files | src/station_gui.cpp |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -266,6 +266,8 @@ const PlayerID owner = (PlayerID)w->window_number; static byte facilities = FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK; static uint16 cargo_filter = CARGO_ALL_SELECTED; + static Listing station_sort = {0, 0}; + plstations_d *sl = &WP(w, plstations_d); switch (e->event) { @@ -283,7 +285,8 @@ sl->sort_list = NULL; sl->flags = SL_REBUILD; - sl->sort_type = 0; + sl->sort_type = station_sort.criteria; + if (station_sort.order) sl->flags |= SL_ORDER; sl->resort_timer = DAY_TICKS * PERIODIC_RESORT_DAYS; break; } @@ -436,6 +439,7 @@ } case STATIONLIST_WIDGET_SORTBY: /*flip sorting method asc/desc*/ sl->flags ^= SL_ORDER; //DESC-flag + station_sort.order = GB(sl->flags, 0, 1); sl->flags |= SL_RESORT; w->flags4 |= 5 << WF_TIMEOUT_SHL; LowerWindowWidget(w, STATIONLIST_WIDGET_SORTBY); @@ -471,6 +475,7 @@ if (sl->sort_type != e->we.dropdown.index) { // value has changed -> resort sl->sort_type = e->we.dropdown.index; + station_sort.criteria = sl->sort_type; sl->flags |= SL_RESORT; } SetWindowDirty(w);