- case wxT('a'): /* Alt */
- case wxT('A'):
- case wxT('m'): /* Meta */
- case wxT('M'):
- {
- strcpy( hotbuf, "<alt>" );
- wxString last = hotkey.Right(1);
- strcat( hotbuf, last.mb_str() );
- return hotbuf;
- }
- case wxT('c'): /* Ctrl */
- case wxT('C'):
- case wxT('s'): /* Strg, yeah man, I'm German */
- case wxT('S'):
- {
- strcpy( hotbuf, "<control>" );
- wxString last = hotkey.Right(1);
- strcat( hotbuf, last.mb_str() );
- return hotbuf;
- }
- case wxT('F'): /* function keys */
- {
- strcpy( hotbuf, hotkey.mb_str() );
- return hotbuf;
- }
- default:
+ int flags = accel->GetFlags();
+ if ( flags & wxACCEL_ALT )
+ hotkey += wxT("<alt>");
+ if ( flags & wxACCEL_CTRL )
+ hotkey += wxT("<control>");
+ if ( flags & wxACCEL_SHIFT )
+ hotkey += wxT("<shift>");
+
+ int code = accel->GetKeyCode();
+ switch ( code )