using support::ascii_lowercase;
using support::bformat;
using support::expandPath;
+using support::FileName;
using support::getEnv;
using support::libFileSearch;
using support::token;
{ "\\check_lastfiles", LyXRC::RC_CHECKLASTFILES },
{ "\\chktex_command", LyXRC::RC_CHKTEX_COMMAND },
{ "\\converter", LyXRC::RC_CONVERTER },
+ { "\\converter_cache_maxage", LyXRC::RC_CONVERTER_CACHE_MAXAGE },
{ "\\copier", LyXRC::RC_COPIER },
{ "\\cursor_follows_scrollbar", LyXRC::RC_CURSOR_FOLLOWS_SCROLLBAR },
{ "\\custom_export_command", LyXRC::RC_CUSTOM_EXPORT_COMMAND },
{ "\\tex_expects_windows_paths", LyXRC::RC_TEX_EXPECTS_WINDOWS_PATHS },
{ "\\ui_file", LyXRC::RC_UIFILE },
{ "\\use_alt_language", LyXRC::RC_USE_ALT_LANG },
+ { "\\use_converter_cache", LyXRC::RC_USE_CONVERTER_CACHE },
{ "\\use_escape_chars", LyXRC::RC_USE_ESC_CHARS },
{ "\\use_input_encoding", LyXRC::RC_USE_INP_ENC },
{ "\\use_lastfilepos", LyXRC::RC_USELASTFILEPOS },
preview = PREVIEW_OFF;
preview_hashed_labels = false;
preview_scale_factor = "0.9";
+ use_converter_cache = false;
+ converter_cache_maxage = 6 * 30 * 24 * 3600; // 6 months
- user_name = support::user_name();
+ user_name = to_utf8(support::user_name());
- user_email = support::user_email();
+ user_email = to_utf8(support::user_email());
}
} // namespace anon
-int LyXRC::read(string const & filename)
+int LyXRC::read(FileName const & filename)
{
LyXLex lexrc(lyxrcTags, lyxrcCount);
if (lyxerr.debugging(Debug::PARSER))
switch (static_cast<LyXRCTags>(le)) {
case RC_INPUT: // Include file
if (lexrc.next()) {
- string const tmp =
+ FileName const tmp =
libFileSearch(string(),
lexrc.getString());
if (read(tmp)) {
lexrc.printError("Error reading "
- "included file: "+tmp);
+ "included file: " + tmp.absFilename());
}
}
break;
path_prefix = lexrc.getString();
break;
+ case RC_USE_CONVERTER_CACHE:
+ if (lexrc.next())
+ use_converter_cache = lexrc.getBool();
+ break;
+
+ case RC_CONVERTER_CACHE_MAXAGE:
+ if (lexrc.next())
+ converter_cache_maxage =
+ convert<unsigned int>(lexrc.getString());
+ break;
+
case RC_LAST: break; // this is just a dummy
}
}
}
-void LyXRC::write(string const & filename, bool ignore_system_lyxrc) const
+void LyXRC::write(FileName const & filename, bool ignore_system_lyxrc) const
{
- ofstream ofs(filename.c_str());
+ ofstream ofs(filename.toFilesystemEncoding().c_str());
if (ofs)
write(ofs, ignore_system_lyxrc);
}
<< preview_scale_factor << '\n';
}
+ case RC_USE_CONVERTER_CACHE:
+ if (ignore_system_lyxrc ||
+ use_converter_cache != system_lyxrc.use_converter_cache) {
+ os << "\\use_converter_cache "
+ << convert<string>(use_converter_cache) << '\n';
+ }
+
+ case RC_CONVERTER_CACHE_MAXAGE:
+ if (ignore_system_lyxrc ||
+ converter_cache_maxage != system_lyxrc.converter_cache_maxage) {
+ os << "\\converter_cache_maxage "
+ << converter_cache_maxage << '\n';
+ }
+
os << "\n#\n"
<< "# SCREEN & FONTS SECTION ############################\n"
<< "#\n\n";