From 41b78190adf985fa6e91a34aba76b1693a8ffc72 Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Sat, 10 May 2003 00:56:07 +0000
Subject: [PATCH] recognize ESC[APE] in menu accel strings (patch 733967)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/menu.tex |  1 +
 src/common/menucmn.cpp | 47 +++++++++++++++---------------------------
 2 files changed, 18 insertions(+), 30 deletions(-)

diff --git a/docs/latex/wx/menu.tex b/docs/latex/wx/menu.tex
index 20469ee2cb..c18f5e60b0 100644
--- a/docs/latex/wx/menu.tex
+++ b/docs/latex/wx/menu.tex
@@ -168,6 +168,7 @@ characters listed in the table below (again, case doesn't matter):
 \twocolitem{{\tt END}}{End key}
 \twocolitem{{\tt SPACE}}{Space}
 \twocolitem{{\tt TAB}}{Tab key}
+\twocolitem{{\tt ESC} or {\tt ESCAPE}}{Escape key (Windows only)}
 \end{twocollist}
 
 \wxheading{See also}
diff --git a/src/common/menucmn.cpp b/src/common/menucmn.cpp
index 5574a19cbb..5b224a1ddf 100644
--- a/src/common/menucmn.cpp
+++ b/src/common/menucmn.cpp
@@ -153,51 +153,38 @@ wxAcceleratorEntry *wxGetAccelFromString(const wxString& label)
                 else {
                     // several special cases
                     current.MakeUpper();
-                    if ( current == wxT("DEL") ) {
+                    if ( current == wxT("DEL") )
                         keyCode = WXK_DELETE;
-                    }
-                    else if ( current == wxT("DELETE") ) {
+                    else if ( current == wxT("DELETE") )
                         keyCode = WXK_DELETE;
-                    }
-                    else if ( current == wxT("INS") ) {
+                    else if ( current == wxT("INS") )
                         keyCode = WXK_INSERT;
-                    }
-                    else if ( current == wxT("INSERT") ) {
+                    else if ( current == wxT("INSERT") )
                         keyCode = WXK_INSERT;
-                    }
-                    else if ( current == wxT("ENTER") || current == wxT("RETURN") ) {
+                    else if ( current == wxT("ENTER") || current == wxT("RETURN") )
                         keyCode = WXK_RETURN;
-                    }
-                    else if ( current == wxT("PGUP") ) {
+                    else if ( current == wxT("PGUP") )
                         keyCode = WXK_PRIOR;
-                    }
-                    else if ( current == wxT("PGDN") ) {
+                    else if ( current == wxT("PGDN") )
                         keyCode = WXK_NEXT;
-                    }
-                    else if ( current == wxT("LEFT") ) {
+                    else if ( current == wxT("LEFT") )
                         keyCode = WXK_LEFT;
-                    }
-                    else if ( current == wxT("RIGHT") ) {
+                    else if ( current == wxT("RIGHT") )
                         keyCode = WXK_RIGHT;
-                    }
-                    else if ( current == wxT("UP") ) {
+                    else if ( current == wxT("UP") )
                         keyCode = WXK_UP;
-                    }
-                    else if ( current == wxT("DOWN") ) {
+                    else if ( current == wxT("DOWN") )
                         keyCode = WXK_DOWN;
-                    }
-                    else if ( current == wxT("HOME") ) {
+                    else if ( current == wxT("HOME") )
                         keyCode = WXK_HOME;
-                    }
-                    else if ( current == wxT("END") ) {
+                    else if ( current == wxT("END") )
                         keyCode = WXK_END;
-                    }
-                    else if ( current == wxT("SPACE") ) {
+                    else if ( current == wxT("SPACE") )
                         keyCode = WXK_SPACE;
-                    }
-                    else if ( current == wxT("TAB") ) {
+                    else if ( current == wxT("TAB") )
                         keyCode = WXK_TAB;
-                    }
+                    else if ( current == wxT("ESC") || current == wxT("ESCAPE") ) {
+                        keyCode = WXK_ESCAPE;
                     else
                     {
                         wxLogDebug(wxT("Unrecognized accel key '%s', accel string ignored."),
-- 
2.50.0

