X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FKeySequence.cpp;h=c0985b78b9b75d8f252437812a307798ad89cbc9;hb=3bf1b97ae547aea5d0243e41b2d8af463a6e40c5;hp=cc6a5bd9855da6fd4535b1813f5821903da1bcac;hpb=275c9cde02b234f114d0a05eb941fbb61f09ba9e;p=features.git diff --git a/src/KeySequence.cpp b/src/KeySequence.cpp index cc6a5bd985..c0985b78b9 100644 --- a/src/KeySequence.cpp +++ b/src/KeySequence.cpp @@ -17,8 +17,6 @@ #include "support/gettext.h" -#include "frontends/KeySymbol.h" - using namespace std; namespace lyx { @@ -70,6 +68,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 +92,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 +123,7 @@ size_t KeySequence::parse(string const & s) } } - // empty sequence? - if (sequence.size() == 0) + if (sequence.empty()) return 0; // everything is fine @@ -122,7 +131,7 @@ size_t KeySequence::parse(string const & s) } -docstring const KeySequence::print(outputFormat format) const +docstring const KeySequence::print(outputFormat format, bool const untranslated) const { docstring buf; @@ -131,20 +140,24 @@ docstring const KeySequence::print(outputFormat format) const for (size_t i = 0; i != length; ++i) { switch (format) { case Portable: - buf += sequence[i].print(modifiers[i].first, false); + buf += sequence[i].print(modifiers[i].first, false, untranslated); break; case ForGui: - buf += sequence[i].print(modifiers[i].first, true); + buf += sequence[i].print(modifiers[i].first, true, untranslated); break; case BindFile: KeyModifier mod = modifiers[i].first; 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; }