(svn r1383) Fix: You can now also delete automatically found servers by pressing "del"

Fix: The scrollbar is correctly updated when deleting servers
pull/155/head
dominik 20 years ago
parent f527d79c56
commit aa24b010e9

@ -76,6 +76,21 @@ static void NetworkTruncateString(char *name, const int max_width)
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 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
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 @@ static const WindowDesc _network_game_window_desc = {
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;

Loading…
Cancel
Save