]> git.lyx.org Git - features.git/commitdiff
Fix bug #8087: Include children in plaintext export.
authorRichard Heck <rgheck@lyx.org>
Mon, 19 Mar 2012 21:33:47 +0000 (17:33 -0400)
committerRichard Heck <rgheck@lyx.org>
Wed, 2 May 2012 21:39:49 +0000 (17:39 -0400)
src/insets/InsetInclude.cpp

index 904096069e9804efe7de848255940ea51de15b13..13c4888fb001c7a4cc6c584f6b2b04be7bfee994 100644 (file)
@@ -34,6 +34,7 @@
 #include "LyXRC.h"
 #include "Lexer.h"
 #include "MetricsInfo.h"
+#include "output_plaintext.h"
 #include "output_xhtml.h"
 #include "OutputParams.h"
 #include "TextClass.h"
@@ -804,7 +805,7 @@ docstring InsetInclude::xhtml(XHTMLStream & xs, OutputParams const & rp) const
 }
 
 
-int InsetInclude::plaintext(odocstream & os, OutputParams const &) const
+int InsetInclude::plaintext(odocstream & os, OutputParams const & op) const
 {
        if (isVerbatim(params()) || isListings(params())) {
                os << '[' << screenLabel() << '\n';
@@ -812,11 +813,15 @@ int InsetInclude::plaintext(odocstream & os, OutputParams const &) const
                os << includedFileName(buffer(), params()).fileContents("UTF-8");
                os << "\n]";
                return PLAINTEXT_NEWLINE + 1; // one char on a separate line
-       } else {
+       }
+
+       Buffer const * const ibuf = loadIfNeeded();
+       if (!ibuf) {
                docstring const str = '[' + screenLabel() + ']';
                os << str;
                return str.size();
        }
+       writePlaintextFile(*ibuf, os, op);
 }