Mercurial > hg > openttd
changeset 897:dadaf913d412 draft
(svn r1383) Fix: You can now also delete automatically found servers by pressing "del"
Fix: The scrollbar is correctly updated when deleting servers
author | dominik <dominik@openttd.org> |
---|---|
date | Wed, 05 Jan 2005 10:47:59 +0000 |
parents | 27c2fed3931b |
children | 1f00332cda59 |
files | network_gui.c |
diffstat | 1 files changed, 20 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/network_gui.c +++ b/network_gui.c @@ -76,6 +76,21 @@ extern const char _openttd_revision[]; +static FiosItem *selected_map = NULL; // to highlight slected map + +// called when a new server is found on the network +void UpdateNetworkGameWindow(bool unselect) +{ + Window *w; + w = FindWindowById(WC_NETWORK_WINDOW, 0); + if (w != NULL) { + if (unselect) + _selected_item = NULL; + w->vscroll.count = _network_game_count; + SetWindowDirty(w); + } +} + static void NetworkGameWindowWndProc(Window *w, WindowEvent *e) { switch(e->event) { @@ -334,10 +349,14 @@ case WE_KEYPRESS: if (_selected_field != 3) { if ( e->keypress.keycode == WKC_DELETE ) { // press 'delete' to remove servers - if (_selected_item != NULL && _selected_item->manually) { + if (_selected_item != NULL) { NetworkGameListRemoveItem(_selected_item); NetworkRebuildHostList(); SetWindowDirty(w); + _network_game_count--; + // reposition scrollbar + if (_network_game_count >= w->vscroll.cap && w->vscroll.pos > _network_game_count-w->vscroll.cap) w->vscroll.pos--; + UpdateNetworkGameWindow(false); _selected_item = NULL; } } @@ -411,21 +430,6 @@ NetworkGameWindowWndProc, }; -static FiosItem *selected_map = NULL; // to highlight slected map - -// called when a new server is found on the network -void UpdateNetworkGameWindow(bool unselect) -{ - Window *w; - w = FindWindowById(WC_NETWORK_WINDOW, 0); - if (w != NULL) { - if (unselect) - _selected_item = NULL; - w->vscroll.count = _network_game_count; - SetWindowDirty(w); - } -} - void ShowNetworkGameWindow() { uint i;