X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FKeyMap.cpp;h=d1c7040c7d0c83dfe8fa491a20edd3392910386a;hb=2df6a6a37876dcfaa755c9aaf6a5ddc1ad58c63e;hp=3fbd46ede4c5c82f8657591df2c7920e9cde1a99;hpb=e6dd86863527686b044794137d1a19f9a198d623;p=lyx.git diff --git a/src/KeyMap.cpp b/src/KeyMap.cpp index 3fbd46ede4..d1c7040c7d 100644 --- a/src/KeyMap.cpp +++ b/src/KeyMap.cpp @@ -15,29 +15,24 @@ #include "KeyMap.h" -#include "debug.h" #include "KeySequence.h" #include "LyXAction.h" #include "Lexer.h" +#include "support/debug.h" +#include "support/docstream.h" +#include "support/FileName.h" #include "support/filetools.h" #include #include #include -using std::endl; -using std::ios; -using std::ofstream; -using std::string; -using boost::make_tuple; - +using namespace std; +using namespace lyx::support; namespace lyx { -using support::FileName; -using support::i18nLibFileSearch; - string const KeyMap::printKeySym(KeySymbol const & key, KeyModifier mod) { @@ -45,12 +40,12 @@ string const KeyMap::printKeySym(KeySymbol const & key, KeyModifier mod) string const s = key.getSymbolName(); - if (mod & ShiftModifier) - buf += "S-"; if (mod & ControlModifier) buf += "C-"; if (mod & AltModifier) buf += "M-"; + if (mod & ShiftModifier) + buf += "S-"; buf += s; return buf; @@ -59,9 +54,8 @@ string const KeyMap::printKeySym(KeySymbol const & key, KeyModifier mod) size_t KeyMap::bind(string const & seq, FuncRequest const & func) { - LYXERR(Debug::KBMAP) << "BIND: Sequence `" - << seq << "' Action `" - << func.action << '\'' << endl; + LYXERR(Debug::KBMAP, "BIND: Sequence `" << seq << "' Action `" + << func.action << '\''); KeySequence k(0, 0); @@ -69,9 +63,8 @@ size_t KeyMap::bind(string const & seq, FuncRequest const & func) if (res == string::npos) { bind(&k, func); } else { - LYXERR(Debug::KBMAP) << "Parse error at position " << res - << " in key sequence '" << seq << "'." - << endl; + LYXERR(Debug::KBMAP, "Parse error at position " << res + << " in key sequence '" << seq << "'."); } return res == string::npos ? 0 : res; @@ -86,9 +79,8 @@ size_t KeyMap::unbind(string const & seq, FuncRequest const & func) if (res == string::npos) unbind(&k, func); else - LYXERR(Debug::KBMAP) << "Parse error at position " << res - << " in key sequence '" << seq << "'." - << endl; + LYXERR(Debug::KBMAP, "Parse error at position " << res + << " in key sequence '" << seq << "'."); return res == string::npos ? 0 : res; } @@ -158,7 +150,7 @@ bool KeyMap::read(string const & bind_file, KeyMap * unbind_map) return false; } - LYXERR(Debug::KBMAP) << "Reading bind file:" << tmp << endl; + LYXERR(Debug::KBMAP, "Reading bind file:" << tmp); bool error = false; while (lexrc.isOK()) { @@ -258,7 +250,7 @@ bool KeyMap::read(string const & bind_file, KeyMap * unbind_map) void KeyMap::write(string const & bind_file, bool append, bool unbind) const { ofstream os(bind_file.c_str(), - append ? (ios::app | ios:: out): ios::out); + append ? (ios::app | ios::out) : ios::out); if (!append) os << "## This file is automatically generated by lyx\n" @@ -269,11 +261,11 @@ void KeyMap::write(string const & bind_file, bool append, bool unbind) const BindingList::const_iterator it = list.begin(); BindingList::const_iterator it_end = list.end(); for (; it != it_end; ++it) { - kb_action action = it->get<0>().action; - string arg = to_utf8(it->get<0>().argument()); + FuncCode action = it->request.action; + string arg = to_utf8(it->request.argument()); os << tag << " \"" - << to_utf8(it->get<1>().print(KeySequence::BindFile)) + << to_utf8(it->sequence.print(KeySequence::BindFile)) << "\" \"" << lyxaction.getActionName(action) << (arg.empty() ? "" : " ") << arg @@ -353,11 +345,9 @@ void KeyMap::bind(KeySequence * seq, FuncRequest const & func, unsigned int r) && mod2 == it->mod.second) { // overwrite binding if (r + 1 == seq->length()) { - LYXERR(Debug::KBMAP) - << "Warning: New binding for '" + LYXERR(Debug::KBMAP, "Warning: New binding for '" << to_utf8(seq->print(KeySequence::Portable)) - << "' is overriding old binding..." - << endl; + << "' is overriding old binding..."); if (it->table.get()) { it->table.reset(); } @@ -413,7 +403,7 @@ void KeyMap::unbind(KeySequence * seq, FuncRequest const & func, unsigned int r) remove = it; if (it->table.get()) it->table.reset(); - } + } } else if (it->table.get()) { it->table->unbind(seq, func, r + 1); if (it->table->empty()) @@ -429,9 +419,9 @@ void KeyMap::unbind(KeySequence * seq, FuncRequest const & func, unsigned int r) } -docstring const KeyMap::printbindings(FuncRequest const & func) const +docstring KeyMap::printBindings(FuncRequest const & func) const { - Bindings bindings = findbindings(func); + Bindings bindings = findBindings(func); if (bindings.empty()) return docstring(); @@ -447,26 +437,25 @@ docstring const KeyMap::printbindings(FuncRequest const & func) const } -KeyMap::Bindings KeyMap::findbindings(FuncRequest const & func) const +KeyMap::Bindings KeyMap::findBindings(FuncRequest const & func) const { - return findbindings(func, KeySequence(0, 0)); + return findBindings(func, KeySequence(0, 0)); } -KeyMap::Bindings KeyMap::findbindings(FuncRequest const & func, +KeyMap::Bindings KeyMap::findBindings(FuncRequest const & func, KeySequence const & prefix) const { Bindings res; - if (table.empty()) return res; + if (table.empty()) + return res; Table::const_iterator end = table.end(); - for (Table::const_iterator cit = table.begin(); - cit != end; ++cit) { + for (Table::const_iterator cit = table.begin(); cit != end; ++cit) { if (cit->table.get()) { KeySequence seq = prefix; seq.addkey(cit->code, cit->mod.first); - Bindings res2 = - cit->table->findbindings(func, seq); + Bindings res2 = cit->table->findBindings(func, seq); res.insert(res.end(), res2.begin(), res2.end()); } else if (cit->func == func) { KeySequence seq = prefix; @@ -487,17 +476,17 @@ KeyMap::BindingList KeyMap::listBindings(bool unbound, int tag) const LyXAction::const_func_iterator fit = lyxaction.func_begin(); LyXAction::const_func_iterator fit_end = lyxaction.func_end(); for (; fit != fit_end; ++fit) { - kb_action action = fit->second; + FuncCode action = fit->second; bool has_action = false; BindingList::const_iterator it = list.begin(); BindingList::const_iterator it_end = list.end(); for (; it != it_end; ++it) - if (it->get<0>().action == action) { + if (it->request.action == action) { has_action = true; break; } if (!has_action) - list.push_back(make_tuple(action, KeySequence(0, 0), tag)); + list.push_back(Binding(FuncRequest(action), KeySequence(0, 0), tag)); } } return list; @@ -518,7 +507,7 @@ void KeyMap::listBindings(BindingList & list, } else { KeySequence seq = prefix; seq.addkey(it->code, it->mod.first); - list.push_back(make_tuple(it->func, seq, tag)); + list.push_back(Binding(it->func, seq, tag)); } } }