X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetTOC.cpp;h=76a8dc9d1bfbe3f0b240a7908f853a1fb1d70d32;hb=e4c46abeb7385960c9dd42494e3c7c1f3e699b56;hp=331153b94c829f97e62712cd569f4b01e4cac1d6;hpb=d3feabfc8660bf688bd3ec79cea31b7de46d795a;p=lyx.git diff --git a/src/insets/InsetTOC.cpp b/src/insets/InsetTOC.cpp index 331153b94c..76a8dc9d1b 100644 --- a/src/insets/InsetTOC.cpp +++ b/src/insets/InsetTOC.cpp @@ -148,8 +148,8 @@ void InsetTOC::makeTOCEntry(XHTMLStream & xs, } -void InsetTOC::makeTOCWithDepth(XHTMLStream xs, - Toc toc, OutputParams const & op) const +void InsetTOC::makeTOCWithDepth(XHTMLStream & xs, + Toc const & toc, OutputParams const & op) const { Toc::const_iterator it = toc.begin(); Toc::const_iterator const en = toc.end(); @@ -206,8 +206,8 @@ void InsetTOC::makeTOCWithDepth(XHTMLStream xs, } -void InsetTOC::makeTOCNoDepth(XHTMLStream xs, - Toc toc, const OutputParams & op) const +void InsetTOC::makeTOCNoDepth(XHTMLStream & xs, + Toc const & toc, const OutputParams & op) const { Toc::const_iterator it = toc.begin(); Toc::const_iterator const en = toc.end(); @@ -232,12 +232,12 @@ docstring InsetTOC::xhtml(XHTMLStream &, OutputParams const & op) const string const & command = getCmdName(); if (command != "tableofcontents" && command != "lstlistoflistings") { LYXERR0("TOC type " << command << " not yet implemented."); - LASSERT(false, /* */); - return docstring(); + LASSERT(false, return docstring()); } - Toc const & toc = buffer().tocBackend().toc(cmd2type(command)); - if (toc.empty()) + shared_ptr toc = + buffer().masterBuffer()->tocBackend().toc(cmd2type(command)); + if (toc->empty()) return docstring(); // we'll use our own stream, because we are going to defer everything. @@ -249,13 +249,15 @@ docstring InsetTOC::xhtml(XHTMLStream &, OutputParams const & op) const xs << html::StartTag("div", "class='toc'"); // Title of TOC + InsetLayout const & il = getLayout(); + string const & tag = il.htmltag(); docstring title = screenLabel(); Layout const & lay = buffer().params().documentClass().htmlTOCLayout(); string const & tocclass = lay.defaultCSSClass(); string const tocattr = "class='tochead " + tocclass + "'"; - xs << html::StartTag("div", tocattr) + xs << html::StartTag(tag, tocattr) << title - << html::EndTag("div"); + << html::EndTag(tag); // with lists of listings, at least, there is no depth // to worry about. so the code can be simpler. @@ -263,9 +265,9 @@ docstring InsetTOC::xhtml(XHTMLStream &, OutputParams const & op) const // Output of TOC if (use_depth) - makeTOCWithDepth(xs, toc, op); + makeTOCWithDepth(xs, *toc, op); else - makeTOCNoDepth(xs, toc, op); + makeTOCNoDepth(xs, *toc, op); xs << html::EndTag("div") << html::CR(); return ods.str();