X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fgtk%2FGLyXKeySym.C;h=e345bfe26db5d00520ae28bc58e0f4c04103b5fd;hb=005955b52744830d3531b78b671a325b5ba8f41a;hp=86d7855ddd92561bd088526622451e659421fe83;hpb=ae8999aeba35627e9b85774d5b7ed6d643186de6;p=lyx.git diff --git a/src/frontends/gtk/GLyXKeySym.C b/src/frontends/gtk/GLyXKeySym.C index 86d7855ddd..e345bfe26d 100644 --- a/src/frontends/gtk/GLyXKeySym.C +++ b/src/frontends/gtk/GLyXKeySym.C @@ -13,6 +13,8 @@ #include "GLyXKeySym.h" #include "kbmap.h" +#include "support/lstrings.h" + #include #include @@ -94,9 +96,27 @@ char GLyXKeySym::getISOEncoded(string const & /*encoding*/) const } +//Produce a human readable version (eg "Ctrl+N") string const GLyXKeySym::print(key_modifier::state mod) const { - return kb_keymap::printKeySym(*this, mod); + string buf; + + if (mod & key_modifier::ctrl) + buf += "Ctrl+"; + if (mod & key_modifier::shift) + buf += "Shift+"; + if (mod & key_modifier::alt) + buf += "Alt+"; + + //Uppercase the first letter, for Ctrl+N rather than Ctrl+n, + //and for Ctrl+Greater rather than Ctrl+GREATER + string symname = getSymbolName(); + if (!symname.empty()) { + symname[0] = lyx::support::uppercase(symname[0]); + buf += symname; + } + + return buf; }