]> git.lyx.org Git - lyx.git/blobdiff - src/output_plaintext.C
get rid of broken_header.h and some unneeded tests
[lyx.git] / src / output_plaintext.C
index 70c72e59a74e17695d962c0e0076aafc0feafebb..d0da1d04dc56c3310efd38fc54b6169842dce883 100644 (file)
 #include "output.h"
 #include "outputparams.h"
 #include "paragraph.h"
+#include "ParagraphList_fwd.h"
 #include "ParagraphParameters.h"
 
 #include "support/gzstream.h"
 #include "support/lstrings.h"
 
-#ifdef HAVE_LOCALE
-#endif
-
 using lyx::support::ascii_lowercase;
 using lyx::support::compare_ascii_no_case;
 using lyx::support::compare_no_case;
@@ -51,15 +49,13 @@ void writeFileAscii(Buffer const & buf,
 }
 
 
-void writeFileAscii(Buffer const & buf,
-                   ostream & os,
-                   OutputParams const & runparams)
+void writeFileAscii(Buffer const & buf, ostream & os,
+       OutputParams const & runparams)
 {
-       Buffer & tmp = const_cast<Buffer &>(buf);
-       ParagraphList par = const_cast<ParagraphList&>(tmp.paragraphs());
-       ParagraphList::iterator beg = par.begin();
-       ParagraphList::iterator end = par.end();
-       ParagraphList::iterator it = beg;
+       ParagraphList const par = buf.paragraphs();
+       ParagraphList::const_iterator beg = par.begin();
+       ParagraphList::const_iterator end = par.end();
+       ParagraphList::const_iterator it = beg;
        for (; it != end; ++it) {
                asciiParagraph(buf, *it, os, runparams, it == beg);
        }
@@ -88,7 +84,7 @@ void asciiParagraph(Buffer const & buf,
 {
        int ltype = 0;
        Paragraph::depth_type ltype_depth = 0;
-       bool ref_printed = false;
+       static bool ref_printed = false;
        Paragraph::depth_type depth = par.params().depth();
 
        // First write the layout
@@ -210,7 +206,9 @@ void asciiParagraph(Buffer const & buf,
                                currlinelen += word.length();
                                word.erase();
                        }
-                       if (inset->plaintext(buf, os, runparams)) {
+                       OutputParams rp = runparams;
+                       rp.depth = par.params().depth();
+                       if (inset->plaintext(buf, os, rp)) {
                                // to be sure it breaks paragraph
                                currlinelen += runparams.linelen;
                        }
@@ -238,7 +236,7 @@ void asciiParagraph(Buffer const & buf,
                default:
                        word += c;
                        if (runparams.linelen > 0 &&
-                               currlinelen + word.length() > runparams.linelen)
+                           currlinelen + word.length() > runparams.linelen)
                        {
                                os << "\n";
                                pair<int, string> p = addDepth(depth, ltype_depth);