(svn r14534) -Codechange [FS#2382]: Enumify magic return values of HandleEditBox function (Zuu)
authorglx
Sat, 25 Oct 2008 19:59:11 +0000
changeset 10295 52982b3d0d84
parent 10294 748d6a359208
child 10296 8fb5cc7c257c
(svn r14534) -Codechange [FS#2382]: Enumify magic return values of HandleEditBox function (Zuu)
src/misc_gui.cpp
src/network/network_chat_gui.cpp
src/network/network_gui.cpp
src/querystring_gui.h
src/signs_gui.cpp
--- a/src/misc_gui.cpp	Sat Oct 25 18:58:24 2008 +0000
+++ b/src/misc_gui.cpp	Sat Oct 25 19:59:11 2008 +0000
@@ -960,14 +960,14 @@
 	return false;
 }
 
-int QueryString::HandleEditBoxKey(Window *w, int wid, uint16 key, uint16 keycode, Window::EventState &state)
+HandleEditBoxResult QueryString::HandleEditBoxKey(Window *w, int wid, uint16 key, uint16 keycode, Window::EventState &state)
 {
 	state = Window::ES_HANDLED;
 
 	switch (keycode) {
-		case WKC_ESC: return 2;
+		case WKC_ESC: return HEBR_CANCEL;
 
-		case WKC_RETURN: case WKC_NUM_ENTER: return 1;
+		case WKC_RETURN: case WKC_NUM_ENTER: return HEBR_CONFIRM;
 
 		case (WKC_CTRL | 'V'):
 			if (InsertTextBufferClipboard(&this->text)) w->InvalidateWidget(wid);
@@ -994,7 +994,7 @@
 			}
 	}
 
-	return 0;
+	return HEBR_EDITING;
 }
 
 void QueryString::HandleEditBox(Window *w, int wid)
@@ -1124,13 +1124,13 @@
 		EventState state;
 		switch (this->HandleEditBoxKey(QUERY_STR_WIDGET_TEXT, key, keycode, state)) {
 			default: NOT_REACHED();
-			case 0: {
+			case HEBR_EDITING: {
 				Window *osk = FindWindowById(WC_OSK, 0);
 				if (osk != NULL && osk->parent == this) osk->OnInvalidateData();
 			} break;
-			case 1: this->OnOk(); // Enter pressed, confirms change
+			case HEBR_CONFIRM: this->OnOk();
 			/* FALL THROUGH */
-			case 2: delete this; break; // ESC pressed, closes window, abandons changes
+			case HEBR_CANCEL: delete this; break; // close window, abandon changes
 		}
 		return state;
 	}
@@ -1624,7 +1624,7 @@
 
 		EventState state = ES_NOT_HANDLED;
 		if ((_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) &&
-				this->HandleEditBoxKey(10, key, keycode, state) == 1) { // Press Enter
+				this->HandleEditBoxKey(10, key, keycode, state) == HEBR_CONFIRM) {
 			this->HandleButtonClick(12);
 		}
 
--- a/src/network/network_chat_gui.cpp	Sat Oct 25 18:58:24 2008 +0000
+++ b/src/network/network_chat_gui.cpp	Sat Oct 25 19:59:11 2008 +0000
@@ -468,14 +468,14 @@
 			_chat_tab_completion_active = false;
 			switch (this->HandleEditBoxKey(2, key, keycode, state)) {
 				default: NOT_REACHED();
-				case 0: {
+				case HEBR_EDITING: {
 					Window *osk = FindWindowById(WC_OSK, 0);
 					if (osk != NULL && osk->parent == this) osk->OnInvalidateData();
 				} break;
-				case 1: /* Return */
+				case HEBR_CONFIRM:
 					SendChat(this->text.buf, this->dtype, this->dest);
 				/* FALLTHROUGH */
-				case 2: /* Escape */ delete this; break;
+				case HEBR_CANCEL: delete this; break;
 			}
 		}
 		return state;
--- a/src/network/network_gui.cpp	Sat Oct 25 18:58:24 2008 +0000
+++ b/src/network/network_gui.cpp	Sat Oct 25 19:59:11 2008 +0000
@@ -668,7 +668,7 @@
 			return state;
 		}
 
-		if (this->HandleEditBoxKey(NGWW_CLIENT, key, keycode, state) == 1) return state; // enter pressed
+		if (this->HandleEditBoxKey(NGWW_CLIENT, key, keycode, state) == HEBR_CONFIRM) return state;
 
 		/* The name is only allowed when it starts with a letter! */
 		if (!StrEmpty(this->edit_str_buf) && this->edit_str_buf[0] != ' ') {
@@ -1047,7 +1047,7 @@
 	{
 		EventState state = ES_NOT_HANDLED;
 		if (this->field == NSSW_GAMENAME) {
-			if (this->HandleEditBoxKey(NSSW_GAMENAME, key, keycode, state) == 1) return state; // enter pressed
+			if (this->HandleEditBoxKey(NSSW_GAMENAME, key, keycode, state) == HEBR_CONFIRM) return state;
 
 			ttd_strlcpy(_settings_client.network.server_name, this->text.buf, sizeof(_settings_client.network.server_name));
 		}
@@ -1906,11 +1906,13 @@
 	{
 		EventState state;
 		switch (this->HandleEditBoxKey(4, key, keycode, state)) {
-			case 1: // Return
+			default: break;
+
+			case HEBR_CONFIRM:
 				this->OnOk();
 				/* FALL THROUGH */
 
-			case 2: // Escape
+			case HEBR_CANCEL:
 				delete this;
 				break;
 		}
--- a/src/querystring_gui.h	Sat Oct 25 18:58:24 2008 +0000
+++ b/src/querystring_gui.h	Sat Oct 25 19:59:11 2008 +0000
@@ -9,6 +9,16 @@
 #include "window_gui.h"
 
 /**
+ * Return values for HandleEditBoxKey
+ */
+enum HandleEditBoxResult
+{
+	HEBR_EDITING = 0, // Other key pressed.
+	HEBR_CONFIRM,     // Return or enter key pressed.
+	HEBR_CANCEL,      // Escape key pressed.
+};
+
+/**
  * Data stored about a string that can be modified in the GUI
  */
 struct QueryString {
@@ -35,7 +45,7 @@
 
 	void DrawEditBox(Window *w, int wid);
 	void HandleEditBox(Window *w, int wid);
-	int HandleEditBoxKey(Window *w, int wid, uint16 key, uint16 keycode, Window::EventState &state);
+	HandleEditBoxResult HandleEditBoxKey(Window *w, int wid, uint16 key, uint16 keycode, Window::EventState &state);
 };
 
 struct QueryStringBaseWindow : public Window, public QueryString {
--- a/src/signs_gui.cpp	Sat Oct 25 18:58:24 2008 +0000
+++ b/src/signs_gui.cpp	Sat Oct 25 19:59:11 2008 +0000
@@ -309,11 +309,13 @@
 	{
 		EventState state = ES_NOT_HANDLED;
 		switch (this->HandleEditBoxKey(QUERY_EDIT_SIGN_WIDGET_TEXT, key, keycode, state)) {
-			case 1: // Enter pressed, confirms change
+			default: break;
+
+			case HEBR_CONFIRM:
 				if (RenameSign(this->cur_sign, this->text.buf)) break;
 				/* FALL THROUGH */
 
-			case 2: // ESC pressed, closes window, abandons changes
+			case HEBR_CANCEL: // close window, abandon changes
 				delete this;
 				break;
 		}