}
-bool Buffer::readFile(string const & filename)
+bool Buffer::readFile(FileName const & filename)
{
// Check if the file is compressed.
- FileName const name(makeAbsPath(filename));
- string const format = getFormatFromContents(name);
+ string const format = getFormatFromContents(filename);
if (format == "gzip" || format == "zip" || format == "compress") {
params().compressed = true;
}
// remove dummy empty par
paragraphs().clear();
LyXLex lex(0, 0);
- lex.setFile(name);
+ lex.setFile(filename);
if (!readFile(lex, filename))
return false;
}
-bool Buffer::readFile(LyXLex & lex, string const & filename)
+bool Buffer::readFile(LyXLex & lex, FileName const & filename)
{
BOOST_ASSERT(!filename.empty());
if (!lex.isOK()) {
Alert::error(_("Document could not be read"),
- bformat(_("%1$s could not be read."), from_utf8(filename)));
+ bformat(_("%1$s could not be read."), from_utf8(filename.absFilename())));
return false;
}
if (!lex.isOK()) {
Alert::error(_("Document could not be read"),
- bformat(_("%1$s could not be read."), from_utf8(filename)));
+ bformat(_("%1$s could not be read."), from_utf8(filename.absFilename())));
return false;
}
Alert::error(_("Document format failure"),
bformat(_("%1$s is not a LyX document."),
- from_utf8(filename)));
+ from_utf8(filename.absFilename())));
return false;
}
//lyxerr << "format: " << file_format << endl;
if (file_format != LYX_FORMAT) {
- string const tmpfile = tempName();
+ FileName const tmpfile(tempName());
if (tmpfile.empty()) {
Alert::error(_("Conversion failed"),
bformat(_("%1$s is from an earlier"
" version of LyX, but a temporary"
" file for converting it could"
" not be created."),
- from_utf8(filename)));
+ from_utf8(filename.absFilename())));
return false;
}
FileName const lyx2lyx = libFileSearch("lyx2lyx", "lyx2lyx");
" version of LyX, but the"
" conversion script lyx2lyx"
" could not be found."),
- from_utf8(filename)));
+ from_utf8(filename.absFilename())));
return false;
}
ostringstream command;
- command << os::python() << ' ' << quoteName(lyx2lyx.toFilesystemEncoding())
- << " -t " << convert<string>(LYX_FORMAT)
- << " -o " << quoteName(tmpfile) << ' '
- << quoteName(filename);
+ command << os::python()
+ << ' ' << quoteName(lyx2lyx.toFilesystemEncoding())
+ << " -t " << convert<string>(LYX_FORMAT)
+ << " -o " << quoteName(tmpfile.toFilesystemEncoding())
+ << ' ' << quoteName(filename.toFilesystemEncoding());
string const command_str = command.str();
lyxerr[Debug::INFO] << "Running '"
bformat(_("%1$s is from an earlier version"
" of LyX, but the lyx2lyx script"
" failed to convert it."),
- from_utf8(filename)));
+ from_utf8(filename.absFilename())));
return false;
} else {
bool const ret = readFile(tmpfile);
Alert::error(_("Document format failure"),
bformat(_("%1$s ended unexpectedly, which means"
" that it is probably corrupted."),
- from_utf8(filename)));
+ from_utf8(filename.absFilename())));
}
//lyxerr << "removing " << MacroTable::localMacros().size()
OutputParams const & runparams,
bool output_preamble, bool output_body)
{
- string encoding;
- if (params().inputenc == "auto")
- encoding = params().language->encoding()->iconvName();
- else {
- Encoding const * enc = encodings.getFromLaTeXName(params().inputenc);
- if (enc)
- encoding = enc->iconvName();
- else {
- lyxerr << "Unknown inputenc value `"
- << params().inputenc
- << "'. Using `auto' instead." << endl;
- encoding = params().language->encoding()->iconvName();
- }
- }
+ string const encoding = params().encoding().iconvName();
lyxerr[Debug::LATEX] << "makeLaTeXFile encoding: "
<< encoding << "..." << endl;
// This is also a buffer property (ale)
-void Buffer::fillWithBibKeys(vector<pair<string, string> > & keys)
+void Buffer::fillWithBibKeys(vector<pair<string, docstring> > & keys)
const
{
/// if this is a child document and the parent is already loaded
} else if (it->lyxCode() == InsetBase::BIBITEM_CODE) {
InsetBibitem const & inset =
dynamic_cast<InsetBibitem const &>(*it);
- string const key = inset.getContents();
- string const opt = inset.getOptions();
- string const ref; // = pit->asString(this, false);
- string const info = opt + "TheBibliographyRef" + ref;
- keys.push_back(pair<string, string>(key, info));
+ // FIXME UNICODE
+ string const key = to_utf8(inset.getParam("key"));
+ docstring const label = inset.getParam("label");
+ docstring const ref; // = pit->asString(this, false);
+ docstring const info = label + "TheBibliographyRef" + ref;
+ keys.push_back(pair<string, docstring>(key, info));
}
}
}
vector<docstring> labels;
if (code == InsetBase::CITE_CODE) {
- vector<pair<string, string> > keys;
+ vector<pair<string, docstring> > keys;
fillWithBibKeys(keys);
- vector<pair<string, string> >::const_iterator bit = keys.begin();
- vector<pair<string, string> >::const_iterator bend = keys.end();
+ vector<pair<string, docstring> >::const_iterator bit = keys.begin();
+ vector<pair<string, docstring> >::const_iterator bend = keys.end();
for (; bit != bend; ++bit)
// FIXME UNICODE
ErrorList const & Buffer::errorList(string const & type) const
{
static ErrorList const emptyErrorList;
- std::map<std::string, ErrorList>::const_iterator I = errorLists_.find(type);
+ std::map<string, ErrorList>::const_iterator I = errorLists_.find(type);
if (I == errorLists_.end())
return emptyErrorList;