]> git.lyx.org Git - lyx.git/blobdiff - src/KeyMap.cpp
Require a buffer on construction of InsetGraphics and InsetExternal. Eventually,...
[lyx.git] / src / KeyMap.cpp
index 3fbd46ede4c5c82f8657591df2c7920e9cde1a99..d1c7040c7d0c83dfe8fa491a20edd3392910386a 100644 (file)
 
 #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 <fstream>
 #include <sstream>
 #include <utility>
 
-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));
                }
        }
 }