X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FKeySequence.cpp;h=c80490f38fafa03f72f6a7183554157128a9bfed;hb=ba3ff646db52efc8faaa735107c5580eae82b29d;hp=177e74e1bfa34ef5829bf846b8aa443f7c70fda8;hpb=9098af80aa420a44fa818ca2d1dc627d1a94a963;p=lyx.git diff --git a/src/KeySequence.cpp b/src/KeySequence.cpp index 177e74e1bf..c80490f38f 100644 --- a/src/KeySequence.cpp +++ b/src/KeySequence.cpp @@ -70,6 +70,12 @@ size_t KeySequence::parse(string const & s) i += 2; continue; case 'm': case 'M': +#if defined(USE_MACOSX_PACKAGING) || defined(USE_META_KEYBINDING) + mod |= MetaModifier; + i += 2; + continue; +#endif + case 'a': case 'A': mod |= AltModifier; i += 2; continue; @@ -88,6 +94,12 @@ size_t KeySequence::parse(string const & s) i += 3; continue; case 'm': case 'M': +#if defined(USE_MACOSX_PACKAGING) || defined(USE_META_KEYBINDING) + nmod |= MetaModifier; + i += 3; + continue; +#endif + case 'a': case 'A': nmod |= AltModifier; i += 3; continue; @@ -113,8 +125,7 @@ size_t KeySequence::parse(string const & s) } } - // empty sequence? - if (sequence.size() == 0) + if (sequence.empty()) return 0; // everything is fine @@ -141,10 +152,14 @@ docstring const KeySequence::print(outputFormat format) const if (mod & ControlModifier) buf += "C-"; if (mod & AltModifier) +#if defined(USE_MACOSX_PACKAGING) || defined(USE_META_KEYBINDING) + buf += "A-"; + if (mod & MetaModifier) +#endif buf += "M-"; if (mod & ShiftModifier) buf += "S-"; - + buf += from_utf8(sequence[i].getSymbolName()); break; } @@ -189,6 +204,8 @@ void KeySequence::removeKey() return; sequence.pop_back(); modifiers.pop_back(); + if (sequence.empty()) + deleted_ = true; }