From: Jean-Marc Lasgouttes Date: Wed, 4 Dec 2019 14:56:30 +0000 (+0100) Subject: Disable inset-dissolve in table cells X-Git-Tag: lyx-2.4.0dev-acb2ca7b~1443 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=5ac3b880075794130492c2fe63c35104b207ad73;p=features.git Disable inset-dissolve in table cells This is better than making sure that the inset has exactly one cell. In the future, inset-dissolve could be extended to dissolve all the cells contents in the enclosing text. Note that this check does not appear in mathed, and using dissolve in e.g. fraction inset may lead to data loss (only current cell contents is preserved). --- diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp index edd96a5c9b..c59f6427a0 100644 --- a/src/insets/InsetTabular.cpp +++ b/src/insets/InsetTabular.cpp @@ -3989,6 +3989,9 @@ bool InsetTableCell::getStatus(Cursor & cur, FuncRequest const & cmd, { bool enabled = true; switch (cmd.action()) { + case LFUN_INSET_DISSOLVE: + enabled = false; + break; case LFUN_MATH_DISPLAY: if (!hasFixedWidth()) { enabled = false; diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index c7757f1673..2126fb15b2 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -317,10 +317,8 @@ void InsetText::doDispatch(Cursor & cur, FuncRequest & cmd) bool const main_inset = text_.isMainText(); bool const target_inset = cmd.argument().empty() || cmd.getArg(0) == insetName(lyxCode()); - // cur.inset() is the tabular when this is a single cell (bug #9954) - bool const one_cell = cur.inset().nargs() == 1; - if (!main_inset && target_inset && one_cell) { + if (!main_inset && target_inset) { // Text::dissolveInset assumes that the cursor // is inside the Inset. if (&cur.inset() != this) @@ -350,11 +348,9 @@ bool InsetText::getStatus(Cursor & cur, FuncRequest const & cmd, bool const main_inset = text_.isMainText(); bool const target_inset = cmd.argument().empty() || cmd.getArg(0) == insetName(lyxCode()); - // cur.inset() is the tabular when this is a single cell (bug #9954) - bool const one_cell = cur.inset().nargs() == 1; if (target_inset) - status.setEnabled(!main_inset && one_cell); + status.setEnabled(!main_inset); return target_inset; }