X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParagraphParameters.C;h=0ac99a7850f501428d2a71d8ce868acc8155b094;hb=3f8fa07c6ed38218d6a4048f2993a512aa942c96;hp=2d0ee33f2063842cffc366ca1736cd309890a888;hpb=7c15014ec2884e50a17559c1269747658c924eb3;p=lyx.git diff --git a/src/ParagraphParameters.C b/src/ParagraphParameters.C index 2d0ee33f20..0ac99a7850 100644 --- a/src/ParagraphParameters.C +++ b/src/ParagraphParameters.C @@ -17,7 +17,6 @@ #include "ParagraphParameters.h" #include "buffer.h" -#include "BufferView.h" #include "gettext.h" #include "lyxlayout.h" #include "lyxlex.h" @@ -25,13 +24,13 @@ #include "paragraph.h" #include "tex-strings.h" -#include "frontends/LyXView.h" - #include "support/lstrings.h" #include -using lyx::support::rtrim; +namespace lyx { + +using support::rtrim; using std::istringstream; using std::ostream; @@ -39,6 +38,14 @@ using std::ostringstream; using std::string; +static int findToken(char const * const str[], string const & search_token) +{ + return search_token == "default" ? + 0 : + support::findToken(str, search_token); +} + + ParagraphParameters::ParagraphParameters() : noindent_(false), start_of_appendix_(false), appendix_(false), @@ -52,7 +59,7 @@ void ParagraphParameters::clear() } -ParagraphParameters::depth_type ParagraphParameters::depth() const +depth_type ParagraphParameters::depth() const { return depth_; } @@ -133,25 +140,25 @@ void ParagraphParameters::appendix(bool a) } -string const & ParagraphParameters::labelString() const +docstring const & ParagraphParameters::labelString() const { return labelstring_; } -void ParagraphParameters::labelString(string const & ls) +void ParagraphParameters::labelString(docstring const & ls) { labelstring_ = ls; } -string const & ParagraphParameters::labelWidthString() const +docstring const & ParagraphParameters::labelWidthString() const { return labelwidthstring_; } -void ParagraphParameters::labelWidthString(string const & lws) +void ParagraphParameters::labelWidthString(docstring const & lws) { labelwidthstring_ = lws; } @@ -186,7 +193,7 @@ void ParagraphParameters::read(LyXLex & lex) if (token == "\\noindent") { noindent(true); } else if (token == "\\leftindent") { - lex.nextToken(); + lex.next(); LyXLength value(lex.getString()); leftIndent(value); } else if (token == "\\start_of_appendix") { @@ -203,18 +210,19 @@ void ParagraphParameters::read(LyXLex & lex) } else if (tmp == "other") { lex.next(); spacing(Spacing(Spacing::Other, - lex.getFloat())); + lex.getString())); } else { lex.printError("Unknown spacing token: '$$Token'"); } } else if (token == "\\align") { - int tmpret = lex.findToken(string_align); + lex.next(); + int tmpret = findToken(string_align, lex.getString()); if (tmpret == -1) ++tmpret; align(LyXAlignment(1 << tmpret)); } else if (token == "\\labelwidthstring") { lex.eatLine(); - labelWidthString(lex.getString()); + labelWidthString(lex.getDocString()); } else { lex.pushToken(token); break; @@ -231,20 +239,19 @@ void ParagraphParameters::write(ostream & os) const // The labelwidth string used in lists. if (!labelWidthString().empty()) os << "\\labelwidthstring " - << labelWidthString() << '\n'; + << to_utf8(labelWidthString()) << '\n'; // Start of appendix? if (startOfAppendix()) - os << "\\start_of_appendix "; + os << "\\start_of_appendix\n"; // Noindent? if (noindent()) - os << "\\noindent "; + os << "\\noindent\n"; // Do we have a manual left indent? if (!leftIndent().zero()) - os << "\\leftindent " << leftIndent().asString() - << ' '; + os << "\\leftindent " << leftIndent().asString() << '\n'; // Alignment? if (align() != LYX_ALIGN_LAYOUT) { @@ -255,7 +262,7 @@ void ParagraphParameters::write(ostream & os) const case LYX_ALIGN_CENTER: h = 3; break; default: h = 0; break; } - os << "\\align " << string_align[h] << ' '; + os << "\\align " << string_align[h] << '\n'; } } @@ -277,7 +284,7 @@ void params2string(Paragraph const & par, string & data) params.write(os); // Is alignment possible - os << '\n' << "\\alignpossible " << layout->alignpossible << '\n'; + os << "\\alignpossible " << layout->alignpossible << '\n'; /// set default alignment os << "\\aligndefault " << layout->align << '\n'; @@ -305,3 +312,6 @@ bool operator==(ParagraphParameeters const & ps1, && ps1.leftindent == ps2.leftindent; } */ + + +} // namespace lyx