changeset 14129:daeac900ff86 draft

(svn r18676) -Change [FS#3411]: 'escape' in the 'found town' window removes the focus from the town name input box
author rubidium <rubidium@openttd.org>
date Thu, 31 Dec 2009 18:12:10 +0000
parents f3013e86905d
children 719bb0c7e594
files src/town_gui.cpp
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/town_gui.cpp
+++ b/src/town_gui.cpp
@@ -1008,6 +1008,7 @@
 		InitializeTextBuffer(&this->text, this->edit_str_buf, this->edit_str_size, MAX_LENGTH_TOWN_NAME_PIXELS);
 		this->RandomTownName();
 		this->UpdateButtons(true);
+		this->SetFocusedWidget(TSEW_TOWNNAME_EDITBOX);
 	}
 
 	void RandomTownName()
@@ -1022,7 +1023,6 @@
 		UpdateTextBufferSize(&this->text);
 		UpdateOSKOriginalText(this, TSEW_TOWNNAME_EDITBOX);
 
-		this->SetFocusedWidget(TSEW_TOWNNAME_EDITBOX);
 		this->SetWidgetDirty(TSEW_TOWNNAME_EDITBOX);
 	}
 
@@ -1087,6 +1087,7 @@
 
 			case TSEW_TOWNNAME_RANDOM:
 				this->RandomTownName();
+				this->SetFocusedWidget(TSEW_TOWNNAME_EDITBOX);
 				break;
 
 			case TSEW_MANYRANDOMTOWNS:
@@ -1135,7 +1136,9 @@
 	virtual EventState OnKeyPress(uint16 key, uint16 keycode)
 	{
 		EventState state;
-		this->HandleEditBoxKey(TSEW_TOWNNAME_EDITBOX, key, keycode, state);
+		if (this->HandleEditBoxKey(TSEW_TOWNNAME_EDITBOX, key, keycode, state) == HEBR_CANCEL) {
+			this->UnfocusFocusedWidget();
+		}
 		return state;
 	}