Add conversion to and from menu hotkeys and
their GTK pendants. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
180
src/gtk/menu.cpp
180
src/gtk/menu.cpp
@@ -1316,19 +1316,25 @@ static wxString GetGtkHotKey( const wxMenuItem& item )
|
||||
case WXK_F10:
|
||||
case WXK_F11:
|
||||
case WXK_F12:
|
||||
case WXK_F13:
|
||||
case WXK_F14:
|
||||
case WXK_F15:
|
||||
case WXK_F16:
|
||||
case WXK_F17:
|
||||
case WXK_F18:
|
||||
case WXK_F19:
|
||||
case WXK_F20:
|
||||
case WXK_F21:
|
||||
case WXK_F22:
|
||||
case WXK_F23:
|
||||
case WXK_F24:
|
||||
hotkey += wxString::Format(wxT("F%d"), code - WXK_F1 + 1);
|
||||
break;
|
||||
|
||||
// TODO: we should use gdk_keyval_name() (a.k.a.
|
||||
// XKeysymToString) here as well as hardcoding the keysym
|
||||
// names this might be not portable
|
||||
case WXK_NUMPAD_INSERT:
|
||||
hotkey << wxT("KP_Insert" );
|
||||
break;
|
||||
case WXK_NUMPAD_DELETE:
|
||||
hotkey << wxT("KP_Delete" );
|
||||
break;
|
||||
case WXK_INSERT:
|
||||
case WXK_INSERT:
|
||||
hotkey << wxT("Insert" );
|
||||
break;
|
||||
case WXK_DELETE:
|
||||
@@ -1363,7 +1369,165 @@ static wxString GetGtkHotKey( const wxMenuItem& item )
|
||||
case WXK_RETURN:
|
||||
hotkey << wxT("Return" );
|
||||
break;
|
||||
|
||||
case WXK_BACK:
|
||||
hotkey << wxT("BackSpace" );
|
||||
break;
|
||||
case WXK_TAB:
|
||||
hotkey << wxT("Tab" );
|
||||
break;
|
||||
case WXK_ESCAPE:
|
||||
hotkey << wxT("Esc" );
|
||||
break;
|
||||
case WXK_SPACE:
|
||||
hotkey << wxT("space" );
|
||||
break;
|
||||
case WXK_MULTIPLY:
|
||||
hotkey << wxT("Multiply" );
|
||||
break;
|
||||
case WXK_ADD:
|
||||
hotkey << wxT("Add" );
|
||||
break;
|
||||
case WXK_SEPARATOR:
|
||||
hotkey << wxT("Separator" );
|
||||
break;
|
||||
case WXK_SUBTRACT:
|
||||
hotkey << wxT("Subtract" );
|
||||
break;
|
||||
case WXK_DECIMAL:
|
||||
hotkey << wxT("Decimal" );
|
||||
break;
|
||||
case WXK_DIVIDE:
|
||||
hotkey << wxT("Divide" );
|
||||
break;
|
||||
case WXK_CANCEL:
|
||||
hotkey << wxT("Cancel" );
|
||||
break;
|
||||
case WXK_CLEAR:
|
||||
hotkey << wxT("Clear" );
|
||||
break;
|
||||
case WXK_MENU:
|
||||
hotkey << wxT("Menu" );
|
||||
break;
|
||||
case WXK_PAUSE:
|
||||
hotkey << wxT("Pause" );
|
||||
break;
|
||||
case WXK_CAPITAL:
|
||||
hotkey << wxT("Capital" );
|
||||
break;
|
||||
case WXK_SELECT:
|
||||
hotkey << wxT("Select" );
|
||||
break;
|
||||
case WXK_PRINT:
|
||||
hotkey << wxT("Print" );
|
||||
break;
|
||||
case WXK_EXECUTE:
|
||||
hotkey << wxT("Execute" );
|
||||
break;
|
||||
case WXK_SNAPSHOT:
|
||||
hotkey << wxT("Snapshot" );
|
||||
break;
|
||||
case WXK_HELP:
|
||||
hotkey << wxT("Help" );
|
||||
break;
|
||||
case WXK_NUMLOCK:
|
||||
hotkey << wxT("Num_Lock" );
|
||||
break;
|
||||
case WXK_SCROLL:
|
||||
hotkey << wxT("Scroll_Lock" );
|
||||
break;
|
||||
case WXK_NUMPAD_INSERT:
|
||||
hotkey << wxT("KP_Insert" );
|
||||
break;
|
||||
case WXK_NUMPAD_DELETE:
|
||||
hotkey << wxT("KP_Delete" );
|
||||
break;
|
||||
case WXK_NUMPAD_SPACE:
|
||||
hotkey << wxT("KP_Space" );
|
||||
break;
|
||||
case WXK_NUMPAD_TAB:
|
||||
hotkey << wxT("KP_Tab" );
|
||||
break;
|
||||
case WXK_NUMPAD_ENTER:
|
||||
hotkey << wxT("KP_Enter" );
|
||||
break;
|
||||
case WXK_NUMPAD_F1: case WXK_NUMPAD_F2: case WXK_NUMPAD_F3:
|
||||
case WXK_NUMPAD_F4:
|
||||
hotkey += wxString::Format(wxT("KP_F%d"), code - WXK_NUMPAD_F1 + 1);
|
||||
break;
|
||||
case WXK_NUMPAD_HOME:
|
||||
hotkey << wxT("KP_Home" );
|
||||
break;
|
||||
case WXK_NUMPAD_LEFT:
|
||||
hotkey << wxT("KP_Left" );
|
||||
break;
|
||||
case WXK_NUMPAD_UP:
|
||||
hotkey << wxT("KP_Up" );
|
||||
break;
|
||||
case WXK_NUMPAD_RIGHT:
|
||||
hotkey << wxT("KP_Right" );
|
||||
break;
|
||||
case WXK_NUMPAD_DOWN:
|
||||
hotkey << wxT("KP_Down" );
|
||||
break;
|
||||
case WXK_NUMPAD_PRIOR: case WXK_NUMPAD_PAGEUP:
|
||||
hotkey << wxT("KP_Prior" );
|
||||
break;
|
||||
case WXK_NUMPAD_NEXT: case WXK_NUMPAD_PAGEDOWN:
|
||||
hotkey << wxT("KP_Next" );
|
||||
break;
|
||||
case WXK_NUMPAD_END:
|
||||
hotkey << wxT("KP_End" );
|
||||
break;
|
||||
case WXK_NUMPAD_BEGIN:
|
||||
hotkey << wxT("KP_Begin" );
|
||||
break;
|
||||
case WXK_NUMPAD_EQUAL:
|
||||
hotkey << wxT("KP_Equal" );
|
||||
break;
|
||||
case WXK_NUMPAD_MULTIPLY:
|
||||
hotkey << wxT("KP_Multiply" );
|
||||
break;
|
||||
case WXK_NUMPAD_ADD:
|
||||
hotkey << wxT("KP_Add" );
|
||||
break;
|
||||
case WXK_NUMPAD_SEPARATOR:
|
||||
hotkey << wxT("KP_Separator" );
|
||||
break;
|
||||
case WXK_NUMPAD_SUBTRACT:
|
||||
hotkey << wxT("KP_Subtract" );
|
||||
break;
|
||||
case WXK_NUMPAD_DECIMAL:
|
||||
hotkey << wxT("KP_Decimal" );
|
||||
break;
|
||||
case WXK_NUMPAD_DIVIDE:
|
||||
hotkey << wxT("KP_Divide" );
|
||||
break;
|
||||
case WXK_NUMPAD0: case WXK_NUMPAD1: case WXK_NUMPAD2:
|
||||
case WXK_NUMPAD3: case WXK_NUMPAD4: case WXK_NUMPAD5:
|
||||
case WXK_NUMPAD6: case WXK_NUMPAD7: case WXK_NUMPAD8: case WXK_NUMPAD9:
|
||||
hotkey += wxString::Format(wxT("KP_%d"), code - WXK_NUMPAD0);
|
||||
break;
|
||||
case WXK_WINDOWS_LEFT:
|
||||
hotkey << wxT("Super_L" );
|
||||
break;
|
||||
case WXK_WINDOWS_RIGHT:
|
||||
hotkey << wxT("Super_R" );
|
||||
break;
|
||||
case WXK_WINDOWS_MENU:
|
||||
hotkey << wxT("Menu" );
|
||||
break;
|
||||
case WXK_COMMAND:
|
||||
hotkey << wxT("Command" );
|
||||
break;
|
||||
/* These probably wouldn't work as there is no SpecialX in gdk/keynames.txt
|
||||
case WXK_SPECIAL1: case WXK_SPECIAL2: case WXK_SPECIAL3: case WXK_SPECIAL4:
|
||||
case WXK_SPECIAL5: case WXK_SPECIAL6: case WXK_SPECIAL7: case WXK_SPECIAL8:
|
||||
case WXK_SPECIAL9: case WXK_SPECIAL10: case WXK_SPECIAL11: case WXK_SPECIAL12:
|
||||
case WXK_SPECIAL13: case WXK_SPECIAL14: case WXK_SPECIAL15: case WXK_SPECIAL16:
|
||||
case WXK_SPECIAL17: case WXK_SPECIAL18: case WXK_SPECIAL19: case WXK_SPECIAL20:
|
||||
hotkey += wxString::Format(wxT("Special%d"), code - WXK_SPECIAL1 + 1);
|
||||
break;
|
||||
*/
|
||||
// if there are any other keys wxGetAccelFromString() may
|
||||
// return, we should process them here
|
||||
|
||||
|
Reference in New Issue
Block a user