]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetBibtex.cpp
Context menu item to add unknown branch (rest of #7643)
[lyx.git] / src / insets / InsetBibtex.cpp
index 9f85e2db6a2445b7a1a0db43a5a3b85098e30410..8f33a2de3c37ca2c2c1501cc7028aaedac1b0c11 100644 (file)
@@ -58,7 +58,7 @@ namespace os = support::os;
 InsetBibtex::InsetBibtex(Buffer * buf, InsetCommandParams const & p)
        : InsetCommand(buf, p)
 {
-       buffer().invalidateBibinfoCache();
+       buffer().invalidateBibfileCache();
        buffer().removeBiblioTempFiles();
 }
 
@@ -336,6 +336,9 @@ void InsetBibtex::latex(otexstream & os, OutputParams const & runparams) const
                        style = split(style, bibtotoc, ',');
        }
 
+       if (style == "default")
+               style = buffer().params().biblio_style;
+
        if (!style.empty()) {
                string base = normalizeName(buffer(), runparams, style, ".bst");
                FileName const try_in_file =
@@ -933,9 +936,8 @@ docstring InsetBibtex::xhtml(XHTMLStream & xs, OutputParams const &) const
 {
        BiblioInfo const & bibinfo = buffer().masterBibInfo();
        vector<docstring> const & cites = bibinfo.citedEntries();
-       CiteEngine const engine = buffer().params().citeEngine();
-       bool const numbers =
-               (engine == ENGINE_BASIC || engine == ENGINE_NATBIB_NUMERICAL);
+       CiteEngineType const engine_type = buffer().params().citeEngineType();
+       bool const numbers = (engine_type == ENGINE_TYPE_NUMERICAL);
 
        docstring reflabel = from_ascii("References");
        Language const * l = buffer().params().language;
@@ -958,7 +960,8 @@ docstring InsetBibtex::xhtml(XHTMLStream & xs, OutputParams const &) const
                xs << html::StartTag("div", "class='bibtexentry'");
                // FIXME XHTML
                // The same name/id problem we have elsewhere.
-               string const attr = "id='" + to_utf8(entry.key()) + "'";
+               string const attr = 
+                       "id='LyXCite-" + to_utf8(html::cleanAttr(entry.key())) + "'";
                xs << html::CompTag("a", attr);
                docstring citekey;
                if (numbers)