]> git.lyx.org Git - lyx.git/blobdiff - src/LyXAction.C
Fix deleting of paragraphs after undo (fix #236).
[lyx.git] / src / LyXAction.C
index 26b5459413113f2473bdc5d25a354b81791636b2..62f974547a677c29c262ac1020002da6e5459423 100644 (file)
@@ -42,6 +42,15 @@ using std::endl;
 // These are globals. 
 LyXAction lyxaction;
 
+// Small helper function
+inline
+bool isPseudoAction(int a)
+{ 
+       return a > int(LFUN_LASTACTION); 
+}
+     
+
+
 void LyXAction::newFunc(kb_action action, string const & name,
                        string const & helpText, unsigned int attrib)
 {
@@ -179,14 +188,14 @@ void LyXAction::init()
                  N_("Choose Paragraph Environment"), ReadOnly },
                { LFUN_END_OF_SENTENCE, "end-of-sentence-period-insert",
                  N_("Insert end of sentence period"), Noop },
-               { LFUN_GOTOERROR, "error-next", N_("Go to next error"), Noop },
+               { LFUN_GOTOERROR, "error-next",
+                 N_("Go to next error"), ReadOnly },
                { LFUN_REMOVEERRORS, "error-remove-all",
                  N_("Remove all error boxes"), ReadOnly },
                { LFUN_INSET_ERT, "ert-insert",
                  N_("Insert a new ERT Inset"), Noop },
                { LFUN_INSET_EXTERNAL, "external-insert",
                  N_("Insert a new external inset"), Noop },
-               { LFUN_FIGURE, "figure-insert", N_("Insert Graphics"), Noop },
                { LFUN_INSET_GRAPHICS, "graphics-insert",
                  N_("Insert Graphics"), Noop },
                { LFUN_FILE_INSERT, "file-insert", "", Noop },
@@ -290,7 +299,6 @@ void LyXAction::init()
                { LFUN_MATH_MUTATE, "math-mutate", "", Noop },
                { LFUN_MATH_SPACE, "math-space", "", Noop },
                { LFUN_MATH_IMPORT_SELECTION, "math-import-selection", "", Noop },
-               { LFUN_MATH_MACROARG, "math-macro-arg", "", Noop },
                { LFUN_INSERT_MATRIX, "math-matrix", "", Noop },
                { LFUN_MATH_MODE, "math-mode", N_("Math mode"), Noop },
                { LFUN_MATH_NONUMBER, "math-nonumber", "", Noop },
@@ -370,8 +378,6 @@ void LyXAction::init()
                  N_("Tabular Features"), Noop },
                { LFUN_INSET_TABULAR, "tabular-insert",
                  N_("Insert a new Tabular Inset"), Noop },
-               { LFUN_INSET_TEXT, "text-insert",
-                 N_("Insert a new Text Inset"), Noop },
 #if 0
                { LFUN_INSET_THEOREM, "theorem-insert", "", Noop },
 #endif
@@ -424,6 +430,11 @@ void LyXAction::init()
                  N_("Display information about LyX"), NoBuffer },
                { LFUN_HELP_TEXINFO, "help-Texinfo",
                  N_("Display information about the TeX installation"), NoBuffer },
+               { LFUN_FORKS_SHOW, "show-forks",
+                 N_("Show the processes forked by LyX"), NoBuffer },
+               { LFUN_FORKS_KILL, "kill-forks",
+                 N_("Kill the forked process with this PID"), NoBuffer },
+               { LFUN_TOOLTIPS_TOGGLE, "toggle-tooltips", "", NoBuffer },
                { LFUN_NOACTION, "", "", Noop }
        };
 
@@ -448,7 +459,7 @@ LyXAction::LyXAction()
 
 // Search for an existent pseudoaction, return LFUN_UNKNOWN_ACTION
 // if it doesn't exist.
-kb_action LyXAction::searchActionArg(kb_action action, string const & arg) const
+int LyXAction::searchActionArg(kb_action action, string const & arg) const
 {
        arg_map::const_iterator pit = lyx_arg_map.find(action);
 
@@ -476,7 +487,7 @@ kb_action LyXAction::searchActionArg(kb_action action, string const & arg) const
                              << action << '|' 
                              << arg << "] = " << aci->second << endl;
 
-       return kb_action(aci->second);
+       return aci->second;
 }
 
 
@@ -516,12 +527,15 @@ kb_action LyXAction::retrieveActionArg(int pseudo, string & arg) const
 {
        arg.erase(); // clear it to be sure.
 
+       if (!isPseudoAction(pseudo)) 
+               return static_cast<kb_action>(pseudo);
+       
        pseudo_map::const_iterator pit = lyx_pseudo_map.find(pseudo);
 
        if (pit != lyx_pseudo_map.end()) {
                lyxerr[Debug::ACTION] << "Found the pseudoaction: ["
                                      << pit->second.action << '|'
-                                     << pit->second.arg << '\n';
+                                     << pit->second.arg << "]\n";
                arg = pit->second.arg;
                return pit->second.action;
        } else {
@@ -601,12 +615,11 @@ string const LyXAction::getActionName(int action) const
 {
        kb_action ac;
        string arg;
-       if (isPseudoAction(action)) {
-               ac = retrieveActionArg(action, arg);
-               arg.insert(0, " ");
-       } else
-               ac = static_cast<kb_action>(action);
 
+       ac = retrieveActionArg(action, arg);
+       if (!arg.empty())
+               arg.insert(0, " ");
+       
        info_map::const_iterator iit = lyx_info_map.find(ac);
 
        if (iit != lyx_info_map.end()) {
@@ -625,10 +638,7 @@ string const LyXAction::helpText(int pseudoaction) const
        string help, arg;
        kb_action action;
 
-       if (isPseudoAction(pseudoaction)) 
-               action = retrieveActionArg(pseudoaction, arg);
-       else 
-               action = static_cast<kb_action>(pseudoaction);
+       action = retrieveActionArg(pseudoaction, arg);
 
        info_map::const_iterator ici = lyx_info_map.find(action);
        if (ici != lyx_info_map.end()) {