From a3efc99034ad933b70fb3af4ca9be267468ad221 Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 3 Aug 2013 21:26:49 +0000 Subject: (svn r25647) -Add: If an editbox is configured to be cleared with ESC, but the editbox is already empty, unselect the editbox instead. --- src/window.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/window.cpp b/src/window.cpp index 4953cefda..9e64087b0 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -2429,9 +2429,14 @@ EventState Window::HandleEditBoxKey(int wid, uint16 key, uint16 keycode) break; case QueryString::ACTION_CLEAR: - query->text.DeleteAll(); - this->SetWidgetDirty(wid); - this->OnEditboxChanged(wid); + if (query->text.bytes <= 1) { + /* If already empty, unfocus instead */ + this->UnfocusFocusedWidget(); + } else { + query->text.DeleteAll(); + this->SetWidgetDirty(wid); + this->OnEditboxChanged(wid); + } break; default: -- cgit v1.2.3-54-g00ecf