]> git.lyx.org Git - lyx.git/blobdiff - src/KeySequence.cpp
Partial fox for bug #6622: Display \utilde on screen correctly.
[lyx.git] / src / KeySequence.cpp
index ef1cc33e2482c16d96eaf328a017ed9a28167799..a0f2f5bda2c3a970535a75600a7d702867852b4b 100644 (file)
@@ -3,7 +3,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  * \author Jean-Marc Lasgouttes
  * \author John Levon
  *
@@ -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;
@@ -141,6 +153,10 @@ 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-";
@@ -169,15 +185,9 @@ docstring const KeySequence::printOptions(bool forgui) const
 }
 
 
-void KeySequence::mark_deleted()
-{
-       deleted_ = true;
-}
-
-
 void KeySequence::reset()
 {
-       mark_deleted();
+       deleted_ = true;
        curmap = stdmap;
 }
 
@@ -195,6 +205,8 @@ void KeySequence::removeKey()
                return;
        sequence.pop_back();
        modifiers.pop_back();
+       if (sequence.empty())
+               deleted_ = true;
 }