]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetNewpage.cpp
Stupid bug fix.
[lyx.git] / src / insets / InsetNewpage.cpp
index 41bbdea1173c898551f31531602a6b16e3a498e0..511fbfb6e7fe958c2081e15298f4272e8b898582 100644 (file)
 
 #include "FuncRequest.h"
 #include "FuncStatus.h"
-#include "Text.h"
 #include "Lexer.h"
 #include "MetricsInfo.h"
 #include "OutputParams.h"
+#include "Text.h"
 #include "TextMetrics.h"
 
 #include "frontends/FontMetrics.h"
@@ -38,10 +38,10 @@ InsetNewpage::InsetNewpage()
 {}
 
 
-InsetNewpage::InsetNewpage(InsetNewpageParams par)
-{
-       params_.kind = par.kind;
-}
+InsetNewpage::InsetNewpage(InsetNewpageParams const & params)
+       : params_(params)
+{}
+
 
 void InsetNewpageParams::write(ostream & os) const
 {
@@ -65,27 +65,22 @@ void InsetNewpageParams::write(ostream & os) const
 
 void InsetNewpageParams::read(Lexer & lex)
 {
-       lex.next();
-       string const command = lex.getString();
+       lex.setContext("InsetNewpageParams::read");
+       string token;
+       lex >> token;
 
-       if (command == "newpage")
+       if (token == "newpage")
                kind = InsetNewpageParams::NEWPAGE;
-       else if (command == "pagebreak")
+       else if (token == "pagebreak")
                kind = InsetNewpageParams::PAGEBREAK;
-       else if (command == "clearpage")
+       else if (token == "clearpage")
                kind = InsetNewpageParams::CLEARPAGE;
-       else if (command == "cleardoublepage")
+       else if (token == "cleardoublepage")
                kind = InsetNewpageParams::CLEARDOUBLEPAGE;
        else
-               lex.printError("InsetNewpage: Unknown kind: `$$Token'");
+               lex.printError("Unknown kind");
 
-       string token;
-       lex >> token;
-       if (!lex)
-               return;
-       if (token != "\\end_inset")
-               lex.printError("Missing \\end_inset at this point. "
-                              "Read: `$$Token'");
+       lex >> "\\end_inset";
 }
 
 
@@ -146,7 +141,7 @@ void InsetNewpage::doDispatch(Cursor & cur, FuncRequest & cmd)
 
        case LFUN_INSET_MODIFY: {
                InsetNewpageParams params;
-               InsetNewpageMailer::string2params(to_utf8(cmd.argument()), params);
+               string2params(to_utf8(cmd.argument()), params);
                params_.kind = params.kind;
                break;
        }
@@ -166,10 +161,10 @@ bool InsetNewpage::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_INSET_MODIFY:
                if (cmd.getArg(0) == "newpage") {
                        InsetNewpageParams params;
-                       InsetNewpageMailer::string2params(to_utf8(cmd.argument()), params);
+                       string2params(to_utf8(cmd.argument()), params);
                        status.setOnOff(params_.kind == params.kind);
-               } else
-                       status.enabled(true);
+               } 
+               status.setEnabled(true);
                return true;
        default:
                return Inset::getStatus(cur, cmd, status);
@@ -264,43 +259,31 @@ docstring InsetNewpage::contextMenu(BufferView const &, int, int) const
 }
 
 
-string const InsetNewpageMailer::name_ = "newpage";
-
-
-InsetNewpageMailer::InsetNewpageMailer(InsetNewpage & inset)
-       : inset_(inset)
-{}
-
-
-string const InsetNewpageMailer::inset2string(Buffer const &) const
-{
-       return params2string(inset_.params());
-}
-
-
-void InsetNewpageMailer::string2params(string const & in, InsetNewpageParams & params)
+void InsetNewpage::string2params(string const & in, InsetNewpageParams & params)
 {
        params = InsetNewpageParams();
        if (in.empty())
                return;
 
        istringstream data(in);
-       Lexer lex(0,0);
+       Lexer lex;
        lex.setStream(data);
 
        string name;
        lex >> name;
-       if (!lex || name != name_)
-               return print_mailer_error("InsetNewpageMailer", in, 1, name_);
+       if (!lex || name != "newpage") {
+               LYXERR0("Expected arg 2 to be \"wrap\" in " << in);
+               return;
+       }
 
        params.read(lex);
 }
 
 
-string const InsetNewpageMailer::params2string(InsetNewpageParams const & params)
+string InsetNewpage::params2string(InsetNewpageParams const & params)
 {
        ostringstream data;
-       data << name_ << ' ';
+       data << "newpage" << ' ';
        params.write(data);
        return data.str();
 }