(svn r20070) -Feature: when none of the open windows handles a keypress, try all toolbars for global hotkeys

Users that have run a version between r20056 and r20068 should delete their hotkeys.cfg to reset the terraform toolbar hotkeys to default
This commit is contained in:
yexo
2010-07-03 21:43:44 +00:00
parent 9be9302cdb
commit 26be68ae98
9 changed files with 91 additions and 28 deletions

View File

@@ -910,6 +910,16 @@ void ShowBuildRailToolbar(RailType railtype)
_remove_button_clicked = false;
}
EventState RailToolbarGlobalHotkeys(uint16 key, uint16 keycode)
{
extern RailType _last_built_railtype;
int num = CheckHotkeyMatch<BuildRailToolbarWindow>(_railtoolbar_hotkeys, keycode, NULL, true);
if (num == -1) return ES_NOT_HANDLED;
ShowBuildRailToolbar(_last_built_railtype);
Window *w = FindWindowByClass(WC_BUILD_TOOLBAR);
return w->OnKeyPress(key, keycode);
}
/* TODO: For custom stations, respect their allowed platforms/lengths bitmasks!
* --pasky */