}
-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()
// 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;