]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfunc.C
Rob's latest and greatest dialog tweaking.
[lyx.git] / src / lyxfunc.C
index 9f0327bc49025c28e6f47e396a84c0c8ab71661b..3f36e6fac17803f664b4d4fe3add8115a38bc6d4 100644 (file)
 #include "undo_funcs.h"
 #include "ParagraphParameters.h"
 
-#include "insets/inseturl.h"
-#include "insets/insetlatexaccent.h"
-#include "insets/insettoc.h"
-#include "insets/insetref.h"
-#include "insets/insetparent.h"
-#include "insets/insetindex.h"
-#include "insets/insetinclude.h"
-#include "insets/insetbib.h"
-#include "insets/insetcite.h"
-#include "insets/insettext.h"
-#include "insets/insetert.h"
-#include "insets/insetexternal.h"
-#include "insets/insetgraphics.h"
-#include "insets/insetfoot.h"
-#include "insets/insetmarginal.h"
-#include "insets/insetminipage.h"
-#include "insets/insetfloat.h"
-#if 0
-#include "insets/insetlist.h"
-#include "insets/insettheorem.h"
-#endif
+#include "insets/insetcommand.h"
 #include "insets/insettabular.h"
-#include "insets/insetcaption.h"
 
 #include "mathed/formulamacro.h"
 #include "mathed/math_cursor.h"
@@ -183,6 +162,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 +179,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 +310,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 +343,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
@@ -507,6 +493,9 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & ev) const
        case LFUN_INSET_WIDE_FLOAT:
                code = Inset::FLOAT_CODE;
                break;
+       case LFUN_INSET_WRAP:
+               code = Inset::WRAP_CODE;
+               break;
        case LFUN_FLOAT_LIST:
                code = Inset::FLOAT_LIST_CODE;
                break;
@@ -527,6 +516,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 +569,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 +1360,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;