Fix bug #2100: No display equations allowed in a non-fixed width tabular cell.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36673 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Vincent van Ravesteijn 2010-12-03 02:44:16 +00:00
parent 5846e0eb7b
commit 328e8b2627
2 changed files with 25 additions and 3 deletions

View File

@ -3226,7 +3226,7 @@ bool InsetTableCell::allowParagraphCustomization(idx_type) const
bool InsetTableCell::getStatus(Cursor & cur, FuncRequest const & cmd,
FuncStatus & status) const
{
bool enabled;
bool enabled = true;
switch (cmd.action()) {
case LFUN_LAYOUT:
enabled = !forcePlainLayout();
@ -3234,6 +3234,12 @@ bool InsetTableCell::getStatus(Cursor & cur, FuncRequest const & cmd,
case LFUN_LAYOUT_PARAGRAPH:
enabled = allowParagraphCustomization();
break;
case LFUN_MATH_DISPLAY:
if (!hasFixedWidth()) {
enabled = false;
break;
} //fall-through
default:
return InsetText::getStatus(cur, cmd, status);
}

View File

@ -1480,9 +1480,25 @@ bool InsetMathHull::getStatus(Cursor & cur, FuncRequest const & cmd,
return true;
case LFUN_MATH_MUTATE: {
HullType ht = hullType(cmd.argument());
HullType const ht = hullType(cmd.argument());
status.setOnOff(type_ == ht);
// fall through
status.setEnabled(true);
if (ht != hullSimple) {
Cursor tmpcur = cur;
while (!tmpcur.empty()) {
InsetCode code = tmpcur.inset().lyxCode();
if (code == BOX_CODE) {
return true;
} else if (code == TABULAR_CODE) {
FuncRequest tmpcmd(LFUN_MATH_DISPLAY);
if (tmpcur.getStatus(tmpcmd, status) && !status.enabled())
return true;
}
tmpcur.pop_back();
}
}
return true;
}
case LFUN_MATH_DISPLAY: {
bool enable = true;