]> git.lyx.org Git - features.git/commitdiff
* Text3.cpp (doDispatch): fix the behaviour of word-delete-forward,
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 10 Jul 2007 12:20:00 +0000 (12:20 +0000)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 10 Jul 2007 12:20:00 +0000 (12:20 +0000)
word-delete-backward and line-delete when there is a selection.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19025 a592a061-630c-0410-9148-cb99ea01b6c8

src/Text3.cpp

index ee6cf0af0020b11b662ef6f426b13098c1b30d1d..1b9618654a85f9fdc2e46449c196e463d0d5e59a 100644 (file)
@@ -79,7 +79,6 @@ using cap::cutSelection;
 using cap::pasteFromStack;
 using cap::pasteClipboard;
 using cap::replaceSelection;
-using cap::saveSelection;
 
 using support::isStrUnsignedInt;
 using support::token;
@@ -436,20 +435,26 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        }
 
        case LFUN_WORD_DELETE_FORWARD:
-               cur.clearSelection();
-               deleteWordForward(cur);
+               if (cur.selection()) {
+                       cutSelection(cur, true, false);
+               } else
+                       deleteWordForward(cur);
                finishChange(cur, false);
                break;
 
        case LFUN_WORD_DELETE_BACKWARD:
-               cur.clearSelection();
-               deleteWordBackward(cur);
+               if (cur.selection()) {
+                       cutSelection(cur, true, false);
+               } else
+                       deleteWordBackward(cur);
                finishChange(cur, false);
                break;
 
        case LFUN_LINE_DELETE:
-               cur.clearSelection();
-               deleteLineForward(cur);
+               if (cur.selection()) {
+                       cutSelection(cur, true, false);
+               } else
+                       deleteLineForward(cur);
                finishChange(cur, false);
                break;