From bad0994dcd4b5100cd992d3bec90612a707942fb Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Mon, 30 Nov 2009 17:27:10 +0000 Subject: [PATCH] Restore XHTML output for InsetCaption. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32247 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/insets/InsetCaption.cpp | 19 +++++++++++-------- src/insets/InsetCaption.h | 4 ++-- src/insets/InsetText.cpp | 6 ++++-- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/insets/InsetCaption.cpp b/src/insets/InsetCaption.cpp index f84364cdd4..b5bfbc36fe 100644 --- a/src/insets/InsetCaption.cpp +++ b/src/insets/InsetCaption.cpp @@ -28,6 +28,7 @@ #include "Language.h" #include "MetricsInfo.h" #include "output_latex.h" +#include "output_xhtml.h" #include "OutputParams.h" #include "Paragraph.h" #include "TextClass.h" @@ -250,17 +251,17 @@ int InsetCaption::docbook(odocstream & os, } -docstring InsetCaption::xhtml(odocstream & os, - OutputParams const & rp) const +docstring InsetCaption::xhtml(XHTMLStream & xs, OutputParams const & rp) const { if (rp.html_disable_captions) return docstring(); - os << "
\n"; - docstring def = getCaptionAsHTML(os, rp); - os << "
\n"; + xs << StartTag("div", "class='float-caption'"); + docstring def = getCaptionAsHTML(xs, rp); + xs << EndTag("div"); return def; } + int InsetCaption::getArgument(odocstream & os, OutputParams const & runparams) const { @@ -283,11 +284,13 @@ int InsetCaption::getCaptionAsPlaintext(odocstream & os, } -docstring InsetCaption::getCaptionAsHTML(odocstream & os, +docstring InsetCaption::getCaptionAsHTML(XHTMLStream & xs, OutputParams const & runparams) const { - os << full_label_ << ' '; - return InsetText::xhtml(os, runparams); + xs << full_label_ << ' '; + InsetText::XHTMLOptions const opts = + InsetText::WriteLabel | InsetText::WriteInnerTag; + return InsetText::insetAsXHTML(xs, runparams, opts); } diff --git a/src/insets/InsetCaption.h b/src/insets/InsetCaption.h index 9db230db91..2be6c68fbb 100644 --- a/src/insets/InsetCaption.h +++ b/src/insets/InsetCaption.h @@ -31,7 +31,7 @@ public: /// return the caption text int getCaptionAsPlaintext(odocstream & os, OutputParams const &) const; /// return the caption text as HTML - docstring getCaptionAsHTML(odocstream & os, OutputParams const &) const; + docstring getCaptionAsHTML(XHTMLStream & os, OutputParams const &) const; private: /// void write(std::ostream & os) const; @@ -69,7 +69,7 @@ private: /// int docbook(odocstream & os, OutputParams const & runparams) const; /// - docstring xhtml(odocstream & os, OutputParams const & runparams) const; + docstring xhtml(XHTMLStream & os, OutputParams const & runparams) const; /// void setCustomLabel(docstring const & label); /// diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index ccdc9f04ac..1dac64d3aa 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -882,9 +882,11 @@ docstring InsetText::getCaptionHTML(OutputParams const & runparams) const return docstring(); odocstringstream ods; - docstring def = ins->getCaptionAsHTML(ods, runparams); + XHTMLStream xs(ods); + docstring def = ins->getCaptionAsHTML(xs, runparams); if (!def.empty()) - ods << def << '\n'; + // should already have been escaped + xs << XHTMLStream::NextRaw() << def << '\n'; return ods.str(); } -- 2.39.2