]> git.lyx.org Git - features.git/commitdiff
Restore XHTML output for InsetCaption.
authorRichard Heck <rgheck@comcast.net>
Mon, 30 Nov 2009 17:27:10 +0000 (17:27 +0000)
committerRichard Heck <rgheck@comcast.net>
Mon, 30 Nov 2009 17:27:10 +0000 (17:27 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32247 a592a061-630c-0410-9148-cb99ea01b6c8

src/insets/InsetCaption.cpp
src/insets/InsetCaption.h
src/insets/InsetText.cpp

index f84364cdd4303cab7bf117643e9becc65be73def..b5bfbc36fe71e3201a3266613025b78e1bc23907 100644 (file)
@@ -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 << "<div class='float-caption'>\n";
-       docstring def = getCaptionAsHTML(os, rp);
-       os << "</div>\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);
 }
 
 
index 9db230db915fa21046608ce72dcb145ce37845a8..2be6c68fbbe9a05f473bafa27df1f03a018c4829 100644 (file)
@@ -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);
        ///
index ccdc9f04ac826bea23d804fa986b37528e484aec..1dac64d3aa1b47ef40891f7baa58c7e87dbd8e3d 100644 (file)
@@ -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();
 }