X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FKeyMap.cpp;h=c5c387f28f8398617377225c7a102dc31d06f7f2;hb=b536759c0769dab641993347baeb62400455be04;hp=7628d0dfdbb37b9fa25d99bc6385627d4bd8cc56;hpb=f09a9fe2e60e4aeaca23b42b2bf30f5d64cfd9b1;p=lyx.git diff --git a/src/KeyMap.cpp b/src/KeyMap.cpp index 7628d0dfdb..c5c387f28f 100644 --- a/src/KeyMap.cpp +++ b/src/KeyMap.cpp @@ -68,7 +68,7 @@ size_t KeyMap::bind(string const & seq, FuncRequest const & func) LYXERR(Debug::KBMAP, "BIND: Sequence `" << seq << "' Action `" << func.action() << '\''); - KeySequence k(0, 0); + KeySequence k(nullptr, nullptr); string::size_type const res = k.parse(seq); if (res == string::npos) { @@ -84,7 +84,7 @@ size_t KeyMap::bind(string const & seq, FuncRequest const & func) size_t KeyMap::unbind(string const & seq, FuncRequest const & func) { - KeySequence k(0, 0); + KeySequence k(nullptr, nullptr); string::size_type const res = k.parse(seq); if (res == string::npos) @@ -106,6 +106,8 @@ void KeyMap::bind(KeySequence * seq, FuncRequest const & func, unsigned int r) KeyModifier const mod2 = seq->modifiers[r].second; // check if key is already there + // FIXME perf: Profiling shows that this is responsible of 99% of the + // cost of GuiPrefs::applyView() Table::iterator end = table.end(); for (Table::iterator it = table.begin(); it != end; ++it) { if (code == it->code @@ -474,27 +476,28 @@ docstring const KeyMap::print(bool forgui) const docstring KeyMap::printBindings(FuncRequest const & func, - KeySequence::outputFormat format) const + KeySequence::outputFormat format, + bool const untranslated) const { Bindings bindings = findBindings(func); if (bindings.empty()) return docstring(); - + odocstringstream res; Bindings::const_iterator cit = bindings.begin(); Bindings::const_iterator cit_end = bindings.end(); // print the first item - res << cit->print(format); + res << cit->print(format, untranslated); // more than one shortcuts? for (++cit; cit != cit_end; ++cit) - res << ", " << cit->print(format); + res << ", " << cit->print(format, untranslated); return res.str(); } KeyMap::Bindings KeyMap::findBindings(FuncRequest const & func) const { - return findBindings(func, KeySequence(0, 0)); + return findBindings(func, KeySequence(nullptr, nullptr)); } @@ -526,7 +529,7 @@ KeyMap::Bindings KeyMap::findBindings(FuncRequest const & func, KeyMap::BindingList KeyMap::listBindings(bool unbound, KeyMap::ItemType tag) const { BindingList list; - listBindings(list, KeySequence(0, 0), tag); + listBindings(list, KeySequence(nullptr, nullptr), tag); if (unbound) { LyXAction::const_iterator fit = lyxaction.func_begin(); LyXAction::const_iterator const fen = lyxaction.func_end(); @@ -541,8 +544,8 @@ KeyMap::BindingList KeyMap::listBindings(bool unbound, KeyMap::ItemType tag) con break; } if (!has_action) - list.push_back(Binding(FuncRequest(action), KeySequence(0, 0), tag)); - } + list.push_back(Binding(FuncRequest(action), KeySequence(nullptr, nullptr), tag)); + } } return list; }