]> git.lyx.org Git - lyx.git/blobdiff - src/KeySequence.cpp
* docstream: factorize out some code and introduce odocfstream::reset()
[lyx.git] / src / KeySequence.cpp
index fa354003eac3cd46391f34013a8880637aa9eba3..1af1b88f72b742145b1d163d7853174f4a14e510 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "KeySequence.h"
 
-#include "gettext.h"
+#include "support/gettext.h"
 #include "KeyMap.h"
 #include "lfuns.h"
 
@@ -127,14 +127,32 @@ size_t KeySequence::parse(string const & s)
 }
 
 
-docstring const KeySequence::print(bool forgui) const
+docstring const KeySequence::print(outputFormat format) const
 {
        docstring buf;
 
        size_t const length = sequence.size();
 
        for (size_t i = 0; i != length; ++i) {
-               buf += sequence[i].print(modifiers[i].first, forgui);
+               switch (format) {
+               case Portable:
+                       buf += sequence[i].print(modifiers[i].first, false);
+                       break;
+               case ForGui:
+                       buf += sequence[i].print(modifiers[i].first, true);
+                       break;
+               case BindFile:
+                       KeyModifier mod = modifiers[i].first;
+                       if (mod & ControlModifier)
+                               buf += "C-";
+                       if (mod & AltModifier)
+                               buf += "M-";
+                       if (mod & ShiftModifier)
+                               buf += "S-";
+               
+                       buf += from_utf8(sequence[i].getSymbolName());
+                       break;
+               }
                // append a blank
                if (i + 1 != length)
                        buf += ' ';
@@ -145,13 +163,13 @@ docstring const KeySequence::print(bool forgui) const
 
 docstring const KeySequence::printOptions(bool forgui) const
 {
-       docstring buf = print(forgui);
+       docstring buf = print(forgui ? ForGui : Portable);
 
        if (!curmap)
                return buf;
 
        buf += _("   options: ");
-       buf += curmap->print(forgui);
+       buf += curmap->print(forgui ? ForGui : Portable);
        return buf;
 }