Allow escaping _ in menu labels by putting __

Currently you can't mark anything that comes after the __ with _ to make
that a shortcut.
This commit is contained in:
Mikael Magnusson 2009-07-05 15:53:29 +02:00
parent 7351d86443
commit fa4e09dd7e

View file

@ -232,10 +232,13 @@ static gunichar parse_shortcut(const gchar *label, gboolean allow_shortcut,
/* you have to use a printable ascii character for shortcuts /* you have to use a printable ascii character for shortcuts
don't allow space either, so you can have like "a _ b" don't allow space either, so you can have like "a _ b"
*/ */
if (VALID_SHORTCUT(*(i+1))) { if (VALID_SHORTCUT(*(i+1)) || *(i+1) == '_') {
/* Allow you to escape the first _ by putting __ */
if (*(i+1) != '_') {
shortcut = g_unichar_tolower(g_utf8_get_char(i+1)); shortcut = g_unichar_tolower(g_utf8_get_char(i+1));
*position = i - *strippedlabel; *position = i - *strippedlabel;
*always_show = TRUE; *always_show = TRUE;
}
/* remove the '_' from the string */ /* remove the '_' from the string */
for (; *i != '\0'; ++i) for (; *i != '\0'; ++i)