* Text3.cpp (doDispatch): fix the behaviour of word-delete-forward,

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
This commit is contained in:
Jean-Marc Lasgouttes 2007-07-10 12:20:00 +00:00
parent ae9dad1770
commit f4b65f4e96

View File

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