X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutput_plaintext.C;h=2f1a177439ea4d08d2dfa3a63b012804f33d7e69;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=4b4be01ad14d6cad4174e114ff223bbf74315b0d;hpb=0de22c86f8b444caf8d66f597ef7c8b538c99c22;p=lyx.git diff --git a/src/output_plaintext.C b/src/output_plaintext.C index 4b4be01ad1..2f1a177439 100644 --- a/src/output_plaintext.C +++ b/src/output_plaintext.C @@ -19,19 +19,19 @@ #include "output.h" #include "outputparams.h" #include "paragraph.h" -#include "ParagraphList_fwd.h" +#include "ParagraphList.h" #include "ParagraphParameters.h" #include "support/lstrings.h" -#include -using lyx::support::ascii_lowercase; -using lyx::support::compare_ascii_no_case; -using lyx::support::compare_no_case; -using lyx::support::contains; +namespace lyx { + +using support::ascii_lowercase; +using support::compare_ascii_no_case; +using support::compare_no_case; +using support::contains; -using lyx::pos_type; using std::endl; using std::ostream; using std::ofstream; @@ -39,26 +39,26 @@ using std::pair; using std::string; -void writeFileAscii(Buffer const & buf, - string const & fname, - OutputParams const & runparams) +void writeFileAscii(Buffer const & buf, string const & fname, + OutputParams const & runparams) { - ofstream ofs; - if (!::openFileWrite(ofs, fname)) + odocfstream ofs; + if (!openFileWrite(ofs, fname)) return; writeFileAscii(buf, ofs, runparams); } -void writeFileAscii(Buffer const & buf, ostream & os, +void writeFileAscii(Buffer const & buf, odocstream & os, OutputParams const & runparams) { + bool ref_printed = false; 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); + asciiParagraph(buf, *it, os, runparams, ref_printed); } os << "\n"; } @@ -66,12 +66,12 @@ void writeFileAscii(Buffer const & buf, ostream & os, namespace { -pair const addDepth(int depth, int ldepth) +pair const addDepth(int depth, int ldepth) { int d = depth * 2; if (ldepth > depth) d += (ldepth - depth) * 2; - return make_pair(d, string(d, ' ')); + return make_pair(d, docstring(d, ' ')); } } @@ -79,14 +79,13 @@ pair const addDepth(int depth, int ldepth) void asciiParagraph(Buffer const & buf, Paragraph const & par, - ostream & os, + odocstream & os, OutputParams const & runparams, - bool noparbreak) + bool & ref_printed) { int ltype = 0; - Paragraph::depth_type ltype_depth = 0; - static bool ref_printed = false; - Paragraph::depth_type depth = par.params().depth(); + depth_type ltype_depth = 0; + depth_type depth = par.params().depth(); // First write the layout string const & tmp = par.layout()->name(); @@ -132,61 +131,59 @@ void asciiParagraph(Buffer const & buf, string::size_type currlinelen = 0; - if (!noparbreak) { - if (runparams.linelen > 0) - os << "\n\n"; - - os << string(depth * 2, ' '); - currlinelen += depth * 2; - - //-- - // we should probably change to the paragraph language in the - // gettext here (if possible) so that strings are output in - // the correct language! (20012712 Jug) - //-- - switch (ltype) { - case 0: // Standard - case 4: // (Sub)Paragraph - case 5: // Description - break; + if (runparams.linelen > 0) + os << "\n\n"; + + os << docstring(depth * 2, ' '); + currlinelen += depth * 2; + + //-- + // we should probably change to the paragraph language in the + // gettext here (if possible) so that strings are output in + // the correct language! (20012712 Jug) + //-- + switch (ltype) { + case 0: // Standard + case 4: // (Sub)Paragraph + case 5: // Description + break; + + case 6: // Abstract + if (runparams.linelen > 0) { + os << _("Abstract") << "\n\n"; + currlinelen = 0; + } else { + docstring const abst = _("Abstract: "); + os << abst; + currlinelen += abst.length(); + } + break; - case 6: // Abstract + case 7: // Bibliography + if (!ref_printed) { if (runparams.linelen > 0) { - os << _("Abstract") << "\n\n"; + os << _("References") << "\n\n"; currlinelen = 0; } else { - string const abst = _("Abstract: "); - os << abst; - currlinelen += abst.length(); + docstring const refs = _("References: "); + os << refs; + currlinelen += refs.length(); } - break; - - case 7: // Bibliography - if (!ref_printed) { - if (runparams.linelen > 0) { - os << _("References") << "\n\n"; - currlinelen = 0; - } else { - string const refs = _("References: "); - os << refs; - currlinelen += refs.length(); - } - ref_printed = true; - } - break; - - default: { - string const label = par.params().labelString(); - os << label << ' '; - currlinelen += label.length() + 1; - break; + ref_printed = true; } + break; + + default: { + docstring const label = par.params().labelString(); + os << label << ' '; + currlinelen += label.length() + 1; + break; + } - } } if (!currlinelen) { - pair p = addDepth(depth, ltype_depth); + pair p = addDepth(depth, ltype_depth); os << p.second; currlinelen += p.first; } @@ -195,10 +192,10 @@ void asciiParagraph(Buffer const & buf, // intelligent hopefully! (only in the case where we have a // max runparams.linelength!) (Jug) - string word; + docstring word; for (pos_type i = 0; i < par.size(); ++i) { - char c = par.getUChar(buf.params(), i); + char_type c = par.getUChar(buf.params(), i); switch (c) { case Paragraph::META_INSET: { InsetBase const * inset = par.getInset(i); @@ -219,8 +216,8 @@ void asciiParagraph(Buffer const & buf, case ' ': if (runparams.linelen > 0 && currlinelen + word.length() > runparams.linelen - 10) { - os << "\n"; - pair p = addDepth(depth, ltype_depth); + os << '\n'; + pair p = addDepth(depth, ltype_depth); os << p.second; currlinelen = p.first; } @@ -239,8 +236,8 @@ void asciiParagraph(Buffer const & buf, if (runparams.linelen > 0 && currlinelen + word.length() > runparams.linelen) { - os << "\n"; - pair p = addDepth(depth, ltype_depth); + os << '\n'; + pair p = addDepth(depth, ltype_depth); os << p.second; currlinelen = p.first; } @@ -249,3 +246,6 @@ void asciiParagraph(Buffer const & buf, } os << word; } + + +} // namespace lyx