X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetfloat.C;h=41da3b33a9aaf25a36e5c03b10cb248381ac3239;hb=5603df4a5b7e511b31026c9a4f8f55b2b10fde57;hp=f23bed808ee6616d864059a7733c65501ddf2497;hpb=a6c8ac4791834b5957ffc843d6c66159ee844fed;p=lyx.git diff --git a/src/insets/insetfloat.C b/src/insets/insetfloat.C index f23bed808e..41da3b33a9 100644 --- a/src/insets/insetfloat.C +++ b/src/insets/insetfloat.C @@ -163,8 +163,8 @@ void InsetFloat::priv_dispatch(LCursor & cur, FuncRequest & cmd) params_.placement = params.placement; params_.wide = params.wide; params_.sideways = params.sideways; - wide(params_.wide, cur.bv().buffer()->params()); - sideways(params_.sideways, cur.bv().buffer()->params()); + wide(params_.wide, cur.buffer().params()); + sideways(params_.sideways, cur.buffer().params()); cur.bv().update(); break; } @@ -182,7 +182,7 @@ void InsetFloat::priv_dispatch(LCursor & cur, FuncRequest & cmd) InsetCollapsable::priv_dispatch(cur, cmd); break; } - + default: InsetCollapsable::priv_dispatch(cur, cmd); break; @@ -192,8 +192,7 @@ void InsetFloat::priv_dispatch(LCursor & cur, FuncRequest & cmd) void InsetFloatParams::write(ostream & os) const { - os << "Float " // getInsetName() - << type << '\n'; + os << "Float " << type << '\n'; if (!placement.empty()) os << "placement " << placement << "\n"; @@ -202,7 +201,7 @@ void InsetFloatParams::write(ostream & os) const os << "wide true\n"; else os << "wide false\n"; - + if (sideways) os << "sideways true\n"; else @@ -212,43 +211,26 @@ void InsetFloatParams::write(ostream & os) const void InsetFloatParams::read(LyXLex & lex) { - if (lex.isOK()) { - lex.next(); - type = lex.getString(); - } - if (!lex.isOK()) - return; - lex.next(); - string token = lex.getString(); + string token; + lex >> token; if (token == "placement") { - lex.next(); - placement = lex.getString(); + lex >> placement; } else { // take countermeasures lex.pushToken(token); } - if (!lex.isOK()) - return; - lex.next(); - token = lex.getString(); + lex >> token; if (token == "wide") { - lex.next(); - string const tmptoken = lex.getString(); - wide = (tmptoken == "true"); + lex >> wide; } else { lyxerr << "InsetFloat::Read:: Missing wide!" << endl; // take countermeasures lex.pushToken(token); } - if (!lex.isOK()) - return; - lex.next(); - token = lex.getString(); + lex >> token; if (token == "sideways") { - lex.next(); - string const tmptoken = lex.getString(); - sideways = (tmptoken == "true"); + lex >> sideways; } else { lyxerr << "InsetFloat::Read:: Missing sideways!" << endl; @@ -279,7 +261,7 @@ void InsetFloat::validate(LaTeXFeatures & features) const if (contains(params_.placement, 'H')) { features.require("float"); } - + if (params_.sideways) features.require("rotating"); @@ -489,6 +471,8 @@ void InsetFloatMailer::string2params(string const & in, if (!lex || id != "Float") return print_mailer_error("InsetBoxMailer", in, 2, "Float"); + // We have to read the type here! + lex >> params.type; params.read(lex); }