bool InsetCollapsable::metrics(MetricsInfo & mi, Dimension & dim) const
{
autoOpen_ = mi.base.bv->cursor().isInside(this);
- mi.base.textwidth -= 2 * TEXT_TO_INSET_OFFSET;
+ mi.base.textwidth -= (int) (1.5 * TEXT_TO_INSET_OFFSET);
if (status() == Inlined) {
InsetText::metrics(mi, dim);
} else {
dim.des += textdim_.height() + TEXT_TO_BOTTOM_OFFSET;
dim.wid = max(dim.wid, textdim_.wid);
+ if (hasFixedWidth())
+ dim.wid = max(dim.wid, mi.base.textwidth);
}
}
}
dim.asc += TEXT_TO_INSET_OFFSET;
dim.des += TEXT_TO_INSET_OFFSET;
- dim.wid += (int) 1.25 * TEXT_TO_INSET_OFFSET;
- mi.base.textwidth += 2 * TEXT_TO_INSET_OFFSET;
+ dim.wid += (int) (1.5 * TEXT_TO_INSET_OFFSET);
+ mi.base.textwidth += (int) (1.5 * TEXT_TO_INSET_OFFSET);
bool const changed = dim_ != dim;
dim_ = dim;
return changed;
setButtonLabel();
if (status_ == Collapsed)
cur.leaveInset(*this);
+ // Because we save CollapseStatus in lyx file, change of status
+ // should lead to a dirty buffer. (This fixes bug 2993).
+ cur.bv().buffer()->markDirty();
}
labelfont_ = font;
}
-docstring InsetCollapsable::floatName(string const & type, BufferParams const & bp)
+docstring InsetCollapsable::floatName(string const & type, BufferParams const & bp) const
{
FloatList const & floats = bp.getLyXTextClass().floats();
FloatList::const_iterator it = floats[type];