- os << "Flex " << name_ << "\n";
- InsetCollapsable::write(buf, os);
+ switch (cmd.action()) {
+ case LFUN_INSET_DISSOLVE:
+ if (!cmd.argument().empty()) {
+ InsetLayout const & il = getLayout();
+ InsetLayout::InsetLyXType const type =
+ translateLyXType(to_utf8(cmd.argument()));
+ if (il.lyxtype() == type
+ || (il.name() == DocumentClass::plainInsetLayout().name()
+ && type == InsetLayout::CHARSTYLE)) {
+ FuncRequest temp_cmd(LFUN_INSET_DISSOLVE);
+ return InsetCollapsible::getStatus(cur, temp_cmd, flag);
+ } else
+ return false;
+ }
+ // fall-through
+ default:
+ return InsetCollapsible::getStatus(cur, cmd, flag);
+ }