]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
* src/LyXRC.{cpp,h}:
[lyx.git] / src / Text3.cpp
index 12772211588254868b84544455d2e07fbfe4b1d3..79f48c1bb58f5a44cf5b11409717779b92a214e9 100644 (file)
@@ -500,22 +500,44 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                needsUpdate |= tm.cursorEnd(cur);
                break;
 
+       case LFUN_WORD_RIGHT:
+       case LFUN_WORD_RIGHT_SELECT:
+               //FIXME: for visual cursor mode, really move right
+               if (reverseDirectionNeeded(cur)) {
+                       lyx::dispatch(FuncRequest(
+                               cmd.action == LFUN_WORD_RIGHT_SELECT ?
+                                       LFUN_WORD_BACKWARD_SELECT : LFUN_WORD_BACKWARD));
+               } else {
+                       lyx::dispatch(FuncRequest(
+                               cmd.action == LFUN_WORD_RIGHT_SELECT ?
+                                       LFUN_WORD_FORWARD_SELECT : LFUN_WORD_FORWARD));
+               }
+               break;
+
        case LFUN_WORD_FORWARD:
        case LFUN_WORD_FORWARD_SELECT:
                needsUpdate |= cur.selHandle(cmd.action == LFUN_WORD_FORWARD_SELECT);
-               if (reverseDirectionNeeded(cur))
-                       needsUpdate |= cursorLeftOneWord(cur);
-               else
-                       needsUpdate |= cursorRightOneWord(cur);
+               needsUpdate |= cursorForwardOneWord(cur);
+               break;
+
+       case LFUN_WORD_LEFT:
+       case LFUN_WORD_LEFT_SELECT:
+               //FIXME: for visual cursor mode, really move left
+               if (reverseDirectionNeeded(cur)) {
+                       lyx::dispatch(FuncRequest(
+                               cmd.action == LFUN_WORD_LEFT_SELECT ?
+                                       LFUN_WORD_FORWARD_SELECT : LFUN_WORD_FORWARD));
+               } else {
+                       lyx::dispatch(FuncRequest(
+                               cmd.action == LFUN_WORD_LEFT_SELECT ?
+                                       LFUN_WORD_BACKWARD_SELECT : LFUN_WORD_BACKWARD));
+               }
                break;
 
        case LFUN_WORD_BACKWARD:
        case LFUN_WORD_BACKWARD_SELECT:
                needsUpdate |= cur.selHandle(cmd.action == LFUN_WORD_BACKWARD_SELECT);
-               if (reverseDirectionNeeded(cur))
-                       needsUpdate |= cursorRightOneWord(cur);
-               else
-                       needsUpdate |= cursorLeftOneWord(cur);
+               needsUpdate |= cursorBackwardOneWord(cur);
                break;
 
        case LFUN_WORD_SELECT: {
@@ -1276,7 +1298,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        int const nargs = s1.empty() ? 0 : convert<int>(s1);
                        string const s2 = token(s, ' ', 2);
                        string const type = s2.empty() ? "newcommand" : s2;
-                       cur.insert(new MathMacroTemplate(from_utf8(token(s, ' ', 0)), nargs, from_utf8(type)));
+                       cur.insert(new MathMacroTemplate(from_utf8(token(s, ' ', 0)), nargs, false, from_utf8(type)));
                        //cur.nextInset()->edit(cur, true);
                }
                break;
@@ -1393,6 +1415,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        toggleall = toggle;
                        toggleAndShow(cur, this, freefont, toggleall);
                        cur.message(_("Character set"));
+               } else {
+                       lyxerr << "Argument not ok";
                }
                break;
        }
@@ -1883,6 +1907,8 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_LINE_DELETE:
        case LFUN_WORD_FORWARD:
        case LFUN_WORD_BACKWARD:
+       case LFUN_WORD_RIGHT:
+       case LFUN_WORD_LEFT:
        case LFUN_CHAR_FORWARD:
        case LFUN_CHAR_FORWARD_SELECT:
        case LFUN_CHAR_BACKWARD:
@@ -1903,6 +1929,8 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_LINE_END_SELECT:
        case LFUN_WORD_FORWARD_SELECT:
        case LFUN_WORD_BACKWARD_SELECT:
+       case LFUN_WORD_RIGHT_SELECT:
+       case LFUN_WORD_LEFT_SELECT:
        case LFUN_WORD_SELECT:
        case LFUN_PARAGRAPH_UP:
        case LFUN_PARAGRAPH_DOWN: