]> git.lyx.org Git - features.git/blobdiff - src/Text3.cpp
Implement handling of row_flags for row breaking
[features.git] / src / Text3.cpp
index b1bf879a55a02755b840d76cd03eb3e1c898fc97..1623996ec665aa052bc49ec173e349a3bb079438 100644 (file)
@@ -252,7 +252,7 @@ static bool doInsertInset(Cursor & cur, Text * text,
        cur.recordUndo();
        if (cmd.action() == LFUN_ARGUMENT_INSERT) {
                bool cotextinsert = false;
-               InsetArgument const * const ia = static_cast<InsetArgument const *>(inset);
+               InsetArgument * const ia = static_cast<InsetArgument *>(inset);
                Layout const & lay = cur.paragraph().layout();
                Layout::LaTeXArgMap args = lay.args();
                Layout::LaTeXArgMap::const_iterator const lait = args.find(ia->name());
@@ -275,6 +275,7 @@ static bool doInsertInset(Cursor & cur, Text * text,
                        else
                                ds = cur.paragraph().asString();
                        text->insertInset(cur, inset);
+                       ia->init(cur.paragraph());
                        if (edit)
                                inset->edit(cur, true);
                        // Now put co-text into inset
@@ -321,6 +322,11 @@ static bool doInsertInset(Cursor & cur, Text * text,
                inset_text->setOuterFont(cur.bv(), font.fontInfo());
        }
 
+       if (cmd.action() == LFUN_ARGUMENT_INSERT) {
+               InsetArgument * const ia = static_cast<InsetArgument *>(inset);
+               ia->init(cur.paragraph());
+       }
+
        if (edit)
                inset->edit(cur, true);
 
@@ -2756,11 +2762,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        bv->buffer().params().spellignore().push_back(wl);
                        cur.recordUndo();
                        // trigger re-check of whole buffer
-                       ParagraphList & pars = bv->buffer().paragraphs();
-                       ParagraphList::iterator pit = pars.begin();
-                       ParagraphList::iterator pend = pars.end();
-                       for (; pit != pend; ++pit)
-                               pit->requestSpellCheck();
+                       bv->buffer().requestSpellcheck();
                }
                break;
        }
@@ -2794,11 +2796,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        bv->buffer().params().spellignore().erase(it);
                        cur.recordUndo();
                        // trigger re-check of whole buffer
-                       ParagraphList & pars = bv->buffer().paragraphs();
-                       ParagraphList::iterator pit = pars.begin();
-                       ParagraphList::iterator pend = pars.end();
-                       for (; pit != pend; ++pit)
-                               pit->requestSpellCheck();
+                       bv->buffer().requestSpellcheck();
                }
                break;
        }
@@ -3431,6 +3429,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                break;
 
        case LFUN_PRIMARY_SELECTION_PASTE:
+               status.setUnknown(!theSelection().supported());
                enable = cur.selection() || !theSelection().empty();
                break;