]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetERT.cpp
Fix layout bug. Pasting text into a cell tried to set Standard layout, because
[lyx.git] / src / insets / InsetERT.cpp
index e4f4d4188e1d4b4439f32b8e9fb94d6f84b254d9..fd06239b1dd231dd04b8a92214d8d5c91246235a 100644 (file)
 #include "FuncStatus.h"
 #include "Language.h"
 #include "Layout.h"
-#include "LyXAction.h"
 #include "Lexer.h"
-#include "TextClass.h"
+#include "LyXAction.h"
 #include "MetricsInfo.h"
 #include "ParagraphParameters.h"
 #include "Paragraph.h"
+#include "TextClass.h"
 
 #include "frontends/alert.h"
 #include "frontends/Application.h"
@@ -104,7 +104,7 @@ int InsetERT::docbook(odocstream & os, OutputParams const &) const
 void InsetERT::doDispatch(Cursor & cur, FuncRequest & cmd)
 {
        BufferParams const & bp = cur.buffer().params();
-       Layout const layout = bp.documentClass().emptyLayout();
+       Layout const layout = bp.documentClass().plainLayout();
        //lyxerr << "\nInsetERT::doDispatch (begin): cmd: " << cmd << endl;
        switch (cmd.action) {
        case LFUN_QUOTE_INSERT: {
@@ -114,9 +114,7 @@ void InsetERT::doDispatch(Cursor & cur, FuncRequest & cmd)
                break;
        }
        case LFUN_INSET_MODIFY: {
-               InsetCollapsable::CollapseStatus st;
-               InsetERT::string2params(to_utf8(cmd.argument()), st);
-               setStatus(cur, st);
+               setStatus(cur, string2params(to_utf8(cmd.argument())));
                break;
        }
        default:
@@ -143,7 +141,7 @@ bool InsetERT::getStatus(Cursor & cur, FuncRequest const & cmd,
                case LFUN_PASTE:
                case LFUN_PRIMARY_SELECTION_PASTE:
                case LFUN_QUOTE_INSERT:
-                       status.enabled(true);
+                       status.setEnabled(true);
                        return true;
 
                // this one is difficult to get right. As a half-baked
@@ -192,28 +190,18 @@ bool InsetERT::showInsetDialog(BufferView * bv) const
 }
 
 
-void InsetERT::string2params(string const & in, CollapseStatus & status)
+InsetCollapsable::CollapseStatus InsetERT::string2params(string const & in)
 {
-       status = InsetCollapsable::Collapsed;
        if (in.empty())
-               return;
-
+               return Collapsed;
        istringstream data(in);
-       Lexer lex(0,0);
+       Lexer lex;
        lex.setStream(data);
-
-       string name;
-       lex >> name;
-       if (name != "ert") {
-               LYXERR0("InsetERT::string2params(" << in << ")\n"
-                                         "Expected arg 1 to be \"ert\"\n");
-               return;
-       }
-
+       lex.setContext("InsetERT::string2params");
+       lex >> "ert";
        int s;
        lex >> s;
-       if (lex)
-               status = static_cast<InsetCollapsable::CollapseStatus>(s);
+       return static_cast<CollapseStatus>(s);
 }