static const struct wxKeyName
{
wxKeyCode code;
- const wxChar *name;
+ const char *name;
} wxKeyNames[] =
{
{ WXK_DELETE, wxTRANSLATE("DEL") },
//
// as accels can be either translated or not, check for both possibilities and
// also compare case-insensitively as the key names case doesn't count
-static inline bool CompareAccelString(const wxString& str, const wxChar *accel)
+static inline bool CompareAccelString(const wxString& str, const char *accel)
{
return str.CmpNoCase(accel) == 0
#if wxUSE_INTL
//
// first and last parameter specify the valid domain for "number" part
static int IsNumberedAccelKey(const wxString& str,
- const wxChar *prefix,
+ const char *prefix,
wxKeyCode prefixCode,
unsigned first,
unsigned last)
{
// this must be a mistake, chances that this is a valid name of another
// key are vanishingly small
- wxLogDebug(_T("Invalid key string \"%s\""), str.c_str());
+ wxLogDebug(wxT("Invalid key string \"%s\""), str.c_str());
return 0;
}
wxString label = text;
label.Trim(true); // the initial \t must be preserved so don't strip leading whitespaces
+ // If we're passed the entire menu item label instead of just the
+ // accelerator, skip the label part and only look after the TAB.
// check for accelerators: they are given after '\t'
int posTab = label.Find(wxT('\t'));
if ( posTab == wxNOT_FOUND )
- {
- return false;
- }
+ posTab = 0;
+ else
+ posTab++;
// parse the accelerator string
int accelFlags = wxACCEL_NORMAL;
wxString current;
- for ( size_t n = (size_t)posTab + 1; n < label.length(); n++ )
+ for ( size_t n = (size_t)posTab; n < label.length(); n++ )
{
if ( (label[n] == '+') || (label[n] == '-') )
{
}
- wxASSERT_MSG( keyCode, _T("logic error: should have key code here") );
+ wxASSERT_MSG( keyCode, wxT("logic error: should have key code here") );
if ( flagsOut )
*flagsOut = accelFlags;
int flags = GetFlags();
if ( flags & wxACCEL_ALT )
- text += _("Alt-");
+ text += _("Alt+");
if ( flags & wxACCEL_CTRL )
- text += _("Ctrl-");
+ text += _("Ctrl+");
if ( flags & wxACCEL_SHIFT )
- text += _("Shift-");
+ text += _("Shift+");
const int code = GetKeyCode();
// must be a simple key
if (
#if !wxUSE_UNICODE
- isascii(code) &&
+ // we can't call wxIsalnum() for non-ASCII characters in ASCII
+ // build as they're only defined for the ASCII range (or EOF)
+ wxIsascii(code) &&
#endif // ANSI
wxIsalnum(code) )
{