switch (cmd.action()) {
case LFUN_INSET_EDIT:
- editDatabases();
+ editDatabases(cmd.argument());
break;
case LFUN_INSET_MODIFY: {
}
-void InsetBibtex::editDatabases() const
+void InsetBibtex::editDatabases(docstring const db) const
{
vector<docstring> bibfilelist = getVectorFromString(getParam("bibfiles"));
return;
size_t nr_databases = bibfilelist.size();
- if (nr_databases > 1) {
+ if (nr_databases > 1 && db.empty()) {
docstring const engine = usingBiblatex() ? _("Biblatex") : _("BibTeX");
docstring message = bformat(_("The %1$s[[BibTeX/Biblatex]] inset includes %2$s databases.\n"
"If you proceed, all of them will be opened."),
vector<docstring>::const_iterator it = bibfilelist.begin();
vector<docstring>::const_iterator en = bibfilelist.end();
for (; it != en; ++it) {
+ if (!db.empty() && db != *it)
+ continue;
FileName const bibfile = buffer().getBibfilePath(*it);
theFormats().edit(buffer(), bibfile,
theFormats().getFormatFromFile(bibfile));
if (ienc.empty() || ienc == "general")
ienc = to_ascii(params()["encoding"]);
- if (!ienc.empty() && ienc != "default" && ienc != "auto" && encodings.fromLyXName(ienc))
+ if (!ienc.empty() && ienc != "auto-legacy-plain" && ienc != "auto-legacy" && encodings.fromLyXName(ienc))
encoding = encodings.fromLyXName(ienc)->iconvName();
ifdocstream ifs(bibfile.toFilesystemEncoding().c_str(),
ios_base::in, encoding);