]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfunc.C
another fix
[lyx.git] / src / lyxfunc.C
index 9f0327bc49025c28e6f47e396a84c0c8ab71661b..17ef4856dddea88bcc7fb115d25708ebc1da996f 100644 (file)
@@ -183,6 +183,7 @@ void LyXFunc::processKeySym(LyXKeySymPtr keysym,
                       << keysym->getSymbolName()
                       << endl;
        }
        // Do nothing if we have nothing (JMarc)
        if (!keysym->isOK()) {
                lyxerr[Debug::KEY] << "Empty kbd action (probably composing)"
@@ -199,9 +200,7 @@ void LyXFunc::processKeySym(LyXKeySymPtr keysym,
        cancel_meta_seq.reset();
 
        int action = cancel_meta_seq.addkey(keysym, state);
-       if (lyxerr.debugging(Debug::KEY)) {
-               lyxerr << "action first set to [" << action << "]" << endl;
-       }
+       lyxerr[Debug::KEY] << "action first set to [" << action << "]" << endl;
 
        // When not cancel or meta-fake, do the normal lookup.
        // Note how the meta_fake Mod1 bit is OR-ed in and reset afterwards.
@@ -332,6 +331,10 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & ev) const
        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;
@@ -361,6 +364,10 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & ev) const
                break;
        }
 
+       case LFUN_INSET_OPTARG:
+               disable = (TEXT(false)->cursor.par()->layout()->optionalargs == 0);
+               break;
+
        case LFUN_TABULAR_FEATURE:
                if (mathcursor) {
 #if 0
@@ -527,6 +534,9 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & ev) const
        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;
@@ -577,9 +587,8 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & ev) const
        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);
@@ -1369,19 +1378,19 @@ void LyXFunc::dispatch(FuncRequest const & ev, bool verbose)
                lyxrc.cursor_follows_scrollbar = !lyxrc.cursor_follows_scrollbar;
                break;
 
-       case LFUN_KMAP_OFF:             // keymap off
+       case LFUN_KMAP_OFF:
                owner->getIntl().KeyMapOn(false);
                break;
 
-       case LFUN_KMAP_PRIM:    // primary keymap
+       case LFUN_KMAP_PRIM:
                owner->getIntl().KeyMapPrim();
                break;
 
-       case LFUN_KMAP_SEC:             // secondary keymap
+       case LFUN_KMAP_SEC:
                owner->getIntl().KeyMapSec();
                break;
 
-       case LFUN_KMAP_TOGGLE:  // toggle keymap
+       case LFUN_KMAP_TOGGLE:
                owner->getIntl().ToggleKeyMap();
                break;