case LFUN_REDO:
disable = buf->redostack.empty();
break;
+ case LFUN_CUT:
+ case LFUN_COPY:
+ disable = !mathcursor && !view()->getLyXText()->selection.set();
+ break;
#ifndef HAVE_LIBAIKSAURUS
case LFUN_THESAURUS_ENTRY:
disable = true;
break;
}
+ case LFUN_INSET_OPTARG:
+ disable = (TEXT(false)->cursor.par()->layout()->optionalargs == 0);
+ break;
+
case LFUN_TABULAR_FEATURE:
- disable = true;
+ if (mathcursor) {
+#if 0
+ // FIXME: check temporarily disabled
+ // valign code
+ char align = mathcursor->valign();
+ if (align == '\0') {
+ disable = true;
+ break;
+ }
+ if (ev.argument.empty()) {
+ flag.clear();
+ break;
+ }
+ if (!contains("tcb", ev.argument[0])) {
+ disable = true;
+ break;
+ }
+ flag.setOnOff(ev.argument[0] == align);
+ } else
+ disable = true;
+
+ char align = mathcursor->halign();
+ if (align == '\0') {
+ disable = true;
+ break;
+ }
+ if (ev.argument.empty()) {
+ flag.clear();
+ break;
+ }
+ if (!contains("lcr", ev.argument[0])) {
+ disable = true;
+ break;
+ }
+ flag.setOnOff(ev.argument[0] == align);
+#endif
+
+ disable = !mathcursor->halign();
+ break;
+ }
+
if (tli) {
FuncStatus ret;
//ret.disabled(true);
case LFUN_LATEX_LOG:
disable = !IsFileReadable(buf->getLogName().second);
break;
- case LFUN_MATH_VALIGN:
- if (mathcursor && mathcursor->formula()->hullType() != "simple") {
- char align = mathcursor->valign();
- if (align == '\0') {
- disable = true;
- break;
- }
- if (ev.argument.empty()) {
- flag.clear();
- break;
- }
- if (!contains("tcb", ev.argument[0])) {
- disable = true;
- break;
- }
- flag.setOnOff(ev.argument[0] == align);
- } else
- disable = true;
- break;
-
- case LFUN_MATH_HALIGN:
- if (mathcursor && mathcursor->formula()->hullType() != "simple") {
- char align = mathcursor->halign();
- if (align == '\0') {
- disable = true;
- break;
- }
- if (ev.argument.empty()) {
- flag.clear();
- break;
- }
- if (!contains("lcr", ev.argument[0])) {
- disable = true;
- break;
- }
- flag.setOnOff(ev.argument[0] == align);
- } else
- disable = true;
- break;
case LFUN_MATH_MUTATE:
- if (tli && (tli->lyxCode() == Inset::MATH_CODE))
- flag.setOnOff(mathcursor->formula()->hullType() == ev.argument);
+ if (mathcursor)
+ //flag.setOnOff(mathcursor->formula()->hullType() == ev.argument);
+ flag.setOnOff(false);
else
disable = true;
break;
case LFUN_MATH_LIMITS:
case LFUN_MATH_NONUMBER:
case LFUN_MATH_NUMBER:
+ case LFUN_MATH_EXTERN:
disable = !mathcursor;
break;
- // we need to be math mode and a math array for that
- // Hack: halign produces non-zero result iff we are in a math array
- case LFUN_MATH_ROW_INSERT:
- case LFUN_MATH_ROW_DELETE:
- case LFUN_MATH_COLUMN_INSERT:
- case LFUN_MATH_COLUMN_DELETE:
- disable = !mathcursor || !mathcursor->halign() ||
- mathcursor->formula()->hullType() == "simple";
- break;
-
default:
break;
}
case LFUN_INSERT_LABEL:
code = Inset::LABEL_CODE;
break;
+ case LFUN_INSET_OPTARG:
+ code = Inset::OPTARG_CODE;
+ break;
case LFUN_REF_INSERT:
code = Inset::REF_CODE;
break;
default:
break;
}
- if (code != Inset::NO_CODE && tli && !tli->insetAllowed(code)) {
+ if (code != Inset::NO_CODE && tli && !tli->insetAllowed(code))
disable = true;
- }
if (disable)
flag.disabled(true);
}
if (view()->available() && view()->theLockingInset()) {
- UpdatableInset::RESULT result;
+ Inset::RESULT result;
if ((action > 1) || ((action == LFUN_UNKNOWN_ACTION) &&
(!keyseq.deleted())))
{