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));
&& buffer().params().multibib == "child")
return;
+ if (runparams.inDeletedInset) {
+ // We cannot strike-out bibligraphies,
+ // so we just output a note.
+ os << "\\textbf{"
+ << buffer().B_("[BIBLIOGRAPHY DELETED!]")
+ << "}";
+ return;
+ }
+
string style = to_utf8(getParam("options")); // maybe empty! and with bibtotoc
string bibtotoc;
if (prefixIs(style, "bibtotoc")) {
<< "\\end{btSect}\n";
}
// bibtotoc option
- if (!bibtotoc.empty() && !buffer().masterParams().useBibtopic()) {
+ if (!bibtotoc.empty() && !buffer().masterParams().useBibtopic()
+ && !buffer().masterParams().documentClass().bibInToc()) {
// set label for hyperref, see http://www.lyx.org/trac/ticket/6470
if (buffer().masterParams().pdfoptions().use_hyperref)
os << "\\phantomsection";
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);
}
-void InsetBibtex::updateBuffer(ParIterator const &, UpdateType)
+void InsetBibtex::updateBuffer(ParIterator const &, UpdateType, bool const /*deleted*/)
{
buffer().registerBibfiles(getBibFiles());
// record encoding of bib files for biblatex