]> git.lyx.org Git - features.git/blobdiff - src/KeySequence.cpp
InsetIndex: hide printTree behind a LYX_INSET_INDEX_DEBUG flag
[features.git] / src / KeySequence.cpp
index cc6a5bd9855da6fd4535b1813f5821903da1bcac..c0985b78b9b75d8f252437812a307798ad89cbc9 100644 (file)
@@ -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;
                }