summaryrefslogtreecommitdiff
path: root/network_gui.c
diff options
context:
space:
mode:
authordominik <dominik@openttd.org>2004-12-20 22:14:39 +0000
committerdominik <dominik@openttd.org>2004-12-20 22:14:39 +0000
commit7cfaa8a418cf5e04d66e3b4207b13a29db134145 (patch)
tree29c55a04aa27eeacd62949e6621a682a22dc3cc0 /network_gui.c
parent3bbea05a93f922a7e3c98f5474748027032ef2a9 (diff)
downloadopenttd-7cfaa8a418cf5e04d66e3b4207b13a29db134145.tar.xz
(svn r1194) Feature: You can now add and remove servers from the server list. Those will be remembered until you delete them by pressing the Delete key.
Diffstat (limited to 'network_gui.c')
-rw-r--r--network_gui.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/network_gui.c b/network_gui.c
index 809511b87..aa73b854f 100644
--- a/network_gui.c
+++ b/network_gui.c
@@ -9,6 +9,7 @@
#include "table/strings.h"
#include "network_data.h"
+#include "network_gamelist.h"
#include "window.h"
#include "gui.h"
#include "gfx.h"
@@ -299,13 +300,15 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
break;
case WE_KEYPRESS:
- if (_selected_field != 3)
- break;
-
- switch (HandleEditBoxKey(w, 3, e)) {
- case 1:
- HandleButtonClick(w, 8);
- break;
+ if (_selected_field != 3) {
+ if ( e->keypress.keycode == WKC_DELETE ) { // press 'delete' to remove servers
+ if (_selected_item != NULL && _selected_item->manually) {
+ NetworkGameListRemoveItem(_selected_item);
+ NetworkRebuildHostList();
+ SetWindowDirty(w);
+ _selected_item = NULL;
+ }
+ }
}
// The name is only allowed when it starts with a letter!
@@ -318,6 +321,7 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
case WE_ON_EDIT_TEXT: {
NetworkAddServer(e->edittext.str);
+ NetworkRebuildHostList();
} break;
case WE_CREATE: {