X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetTOC.cpp;h=76a8dc9d1bfbe3f0b240a7908f853a1fb1d70d32;hb=e4c46abeb7385960c9dd42494e3c7c1f3e699b56;hp=a5d3d4cff8ebfd972e82fa5b936c20519977701c;hpb=2d34e48869555b6de2fb4192554d8c96a4ea2a8e;p=lyx.git diff --git a/src/insets/InsetTOC.cpp b/src/insets/InsetTOC.cpp index a5d3d4cff8..76a8dc9d1b 100644 --- a/src/insets/InsetTOC.cpp +++ b/src/insets/InsetTOC.cpp @@ -144,21 +144,12 @@ void InsetTOC::makeTOCEntry(XHTMLStream & xs, Font const dummy; par.simpleLyXHTMLOnePar(buffer(), xs, ours, dummy); - xs << html::EndTag("a") << " "; - - // Now a link to the paragraph - string const parattr = "href='#" + par.magicLabel() + "' class='tocarrow'"; - xs << html::StartTag("a", parattr); - // FIXME XHTML - // There ought to be a simple way to customize this. - // Maybe if we had an InsetLayout for TOC... - xs << XHTMLStream::ESCAPE_NONE << ">"; - xs << html::EndTag("a"); + xs << html::EndTag("a") << html::CR(); } -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(); @@ -215,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(); @@ -226,7 +217,7 @@ void InsetTOC::makeTOCNoDepth(XHTMLStream xs, if (!it->isOutput()) continue; - xs << html::StartTag("div", "class='lyxtop-1'") << html::CR(); + xs << html::StartTag("div", "class='lyxtoc-flat'") << html::CR(); Paragraph const & par = it->dit().innerParagraph(); makeTOCEntry(xs, par, op); @@ -241,13 +232,13 @@ 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()); } - Layout const & lay = buffer().params().documentClass().htmlTOCLayout(); - string const & tocclass = lay.defaultCSSClass(); - string const tocattr = "class='tochead " + tocclass + "'"; + 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. // that's how we deal with the fact that we're probably inside a standard @@ -255,17 +246,18 @@ docstring InsetTOC::xhtml(XHTMLStream &, OutputParams const & op) const odocstringstream ods; XHTMLStream xs(ods); - Toc const & toc = buffer().tocBackend().toc(cmd2type(command)); - if (toc.empty()) - return docstring(); - xs << html::StartTag("div", "class='toc'"); // Title of TOC + InsetLayout const & il = getLayout(); + string const & tag = il.htmltag(); docstring title = screenLabel(); - xs << html::StartTag("div", tocattr) + Layout const & lay = buffer().params().documentClass().htmlTOCLayout(); + string const & tocclass = lay.defaultCSSClass(); + string const tocattr = "class='tochead " + tocclass + "'"; + 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. @@ -273,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();