break;
case LFUN_INSET_TOGGLE:
- if (cmd.argument() == "assign") {
- // The branch inset uses "assign".
- if (isBranchSelected()) {
- if (status(cur.bv()) != Open)
- setStatus(cur, Open);
- else
- cur.undispatched();
- } else {
- if (status(cur.bv()) != Collapsed)
- setStatus(cur, Collapsed);
- else
- cur.undispatched();
- }
- }
+ if (cmd.argument() == "assign")
+ setStatus(cur, isBranchSelected() ? Open : Collapsed);
else
InsetCollapsable::doDispatch(cur, cmd);
break;
break;
case LFUN_INSET_TOGGLE:
- if (cmd.argument() == "open" || cmd.argument() == "close" ||
- cmd.argument() == "toggle")
- flag.setEnabled(true);
- else if (cmd.argument() == "assign" || cmd.argument().empty()) {
- if (isBranchSelected())
- flag.setEnabled(status(cur.bv()) != Open);
- else
- flag.setEnabled(status(cur.bv()) != Collapsed);
- } else
+ if (cmd.argument() == "assign") {
flag.setEnabled(true);
- break;
+ break;
+ }
+ //fall through to generic InsetCollapsable implmementation
default:
return InsetCollapsable::getStatus(cur, cmd, flag);