mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r1383) Fix: You can now also delete automatically found servers by pressing "del"
Fix: The scrollbar is correctly updated when deleting servers
This commit is contained in:
parent
9294d33611
commit
87e5984ae2
|
@ -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…
Reference in New Issue