]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetfloat.C
convert graphics for .tex export, fixes bug 1231
[lyx.git] / src / insets / insetfloat.C
index f23bed808ee6616d864059a7733c65501ddf2497..41da3b33a9aaf25a36e5c03b10cb248381ac3239 100644 (file)
@@ -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);
 }