]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetBranch.cpp
Do not output deleted rows columns if show changes in output is false
[lyx.git] / src / insets / InsetBranch.cpp
index a2148201fe5b03bc01d423bd9943719dc156d4c1..6afa0c72ea6f575491359a7949e5de09dc0e5d8c 100644 (file)
@@ -190,6 +190,21 @@ void InsetBranch::doDispatch(Cursor & cur, FuncRequest & cmd)
                        // cur.forceBufferUpdate() is not enough
                        buf->updateBuffer();
                }
+
+               // if branch exists in a descendant, update previews.
+               // TODO: only needed if "Show preview" is enabled in the included inset.
+               bool exists_in_desc = false;
+               for (auto const & it : buf->getDescendants()) {
+                       if (it->params().branchlist().find(params_.branch))
+                               exists_in_desc = true;
+               }
+               if (exists_in_desc) {
+                       // TODO: ideally we would only update the previews of the
+                       // specific children that have this branch directly or
+                       // in one of their descendants
+                       buf->removePreviews();
+                       buf->updatePreviews();
+               }
                break;
        }
        case LFUN_BRANCH_INVERT:
@@ -292,8 +307,11 @@ bool InsetBranch::producesOutput() const
 
 void InsetBranch::latex(otexstream & os, OutputParams const & runparams) const
 {
-       if (producesOutput())
-               InsetText::latex(os, runparams);
+       if (producesOutput()) {
+               OutputParams rp = runparams;
+               rp.inbranch = true;
+               InsetText::latex(os, rp);
+       }
 }
 
 
@@ -402,7 +420,10 @@ void InsetBranchParams::write(ostream & os) const
 
 void InsetBranchParams::read(Lexer & lex)
 {
-       lex >> branch;
+       // There may be a space in branch name
+       // if we wanted to use lex>>, the branch name should be properly in quotes
+       lex.eatLine();
+       branch = lex.getDocString();
        lex >> "inverted" >> inverted;
 }