-#include <config.h>
+/**
+ * \file trans.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ * \author Matthias Ettrich
+ *
+ * Full author contact details are available in file CREDITS.
+ */
-#ifdef __GNUG__
-#pragma implementation
-#endif
+#include <config.h>
-#include "LyXView.h"
#include "trans.h"
#include "support/filetools.h"
#include "support/lstrings.h"
-#include "tex-strings.h"
#include "lyxlex.h"
#include "debug.h"
#include "trans_mgr.h"
+using lyx::support::contains;
+using lyx::support::LibFileSearch;
+
using std::endl;
+using std::string;
+using std::map;
// KmodInfo
}
-int Trans::Load(LyXLex & lex)
+int Trans::Load(LyXLex & lex)
{
bool error = false;
case KMOD:
{
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "KMOD:\t" << lex.text() << endl;
+ lyxerr << "KMOD:\t" << lex.getString() << endl;
if (lex.next(true)) {
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "key\t`" << lex.text()
- << "'" << endl;
+ lyxerr << "key\t`" << lex.getString()
+ << '\'' << endl;
} else
return -1;
-
+
string const keys = lex.getString();
if (lex.next(true)) {
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "accent\t`" << lex.text()
- << "'" << endl;
+ lyxerr << "accent\t`" << lex.getString()
+ << '\'' << endl;
} else
return -1;
// so that this field is not present anymore.
if (lex.next(true)) {
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "allowed\t`" << lex.text()
- << "'" << endl;
+ lyxerr << "allowed\t`" << lex.getString()
+ << '\'' << endl;
} else
return -1;
AddDeadkey(accent, keys);
#endif
break;
- }
+ }
case KCOMB: {
string str;
lyxerr[Debug::KBMAP] << "KCOMB:" << endl;
if (lex.next(true)) {
- str= lex.text();
+ str = lex.getString();
lyxerr[Debug::KBMAP] << str << endl;
} else
return -1;
-
+
tex_accent accent_1 = getkeymod(str);
if (accent_1 == TEX_NOACCENT) return -1;
if (lex.next(true)) {
- str = lex.text();
+ str = lex.getString();
lyxerr[Debug::KBMAP] << str << endl;
} else
return -1;
tex_accent accent_2= getkeymod(str);
if (accent_2 == TEX_NOACCENT) return -1;
- std::map<int, KmodInfo>::iterator it1 =
+ map<int, KmodInfo>::iterator it1 =
kmod_list_.find(accent_1);
- std::map<int, KmodInfo>::iterator it2 =
+ map<int, KmodInfo>::iterator it2 =
kmod_list_.find(accent_2);
if (it1 == kmod_list_.end()
|| it2 == kmod_list_.end()) {
// Find what key accent_2 is on - should
// check about accent_1 also
- std::map<int, string>::iterator it = keymap_.begin();
- std::map<int, string>::iterator end = keymap_.end();
+ map<int, string>::iterator it = keymap_.begin();
+ map<int, string>::iterator end = keymap_.end();
for (; it != end; ++it) {
if (!it->second.empty()
&& it->second[0] == 0
} else {
return -1;
}
-
+
InsertException(kmod_list_[accent_1].exception_list,
static_cast<char>(it->first), allowed,
true, accent_2);
unsigned char key_from;
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "KMAP:\t" << lex.text() << endl;
+ lyxerr << "KMAP:\t" << lex.getString() << endl;
if (lex.next(true)) {
- key_from = lex.text()[0];
+ key_from = lex.getString()[0];
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "\t`" << lex.text() << "'"
+ lyxerr << "\t`" << lex.getString() << '\''
<< endl;
} else
return -1;
if (lex.next(true)) {
- string string_to = lex.text();
+ string const string_to = lex.getString();
keymap_[key_from] = string_to;
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "\t`" << string_to << "'"
+ lyxerr << "\t`" << string_to << '\''
<< endl;
} else
return -1;
string str;
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "KXMOD:\t" << lex.text() << endl;
+ lyxerr << "KXMOD:\t" << lex.getString() << endl;
if (lex.next(true)) {
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "\t`" << lex.text() << "'"
+ lyxerr << "\t`" << lex.getString() << '\''
<< endl;
accent = getkeymod(lex.getString());
} else
if (lex.next(true)) {
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "\t`" << lex.text() << "'"
+ lyxerr << "\t`" << lex.getString() << '\''
<< endl;
- key = lex.text()[0];
+ key = lex.getString()[0];
} else
return -1;
if (lex.next(true)) {
if (lyxerr.debugging(Debug::KBMAP))
- lyxerr << "\t`" << lex.text() << "'"
+ lyxerr << "\t`" << lex.getString() << '\''
<< endl;
- str = lex.text();
+ str = lex.getString();
} else
return -1;
bool Trans::isAccentDefined(tex_accent accent, KmodInfo & i) const
{
- std::map<int, KmodInfo>::const_iterator cit = kmod_list_.find(accent);
+ map<int, KmodInfo>::const_iterator cit = kmod_list_.find(accent);
if (cit != kmod_list_.end()) {
i = cit->second;
return true;
return -1;
FreeKeymap();
- LyXLex lex(kmapTags, K_LAST-1);
+ LyXLex lex(kmapTags, K_LAST - 1);
lex.setFile(filename);
-
+
int const res = Load(lex);
if (res == 0) {
lyxerr << "p = " << p
<< ", lyx_accent_table[" << i
<< "].name = `" << lyx_accent_table[i].name
- << "'" << endl;
-
+ << '\'' << endl;
+
if (lyx_accent_table[i].name
&& contains(p, lyx_accent_table[i].name)) {
lyxerr[Debug::KBMAP] << "Found it!" << endl;