fix bug 2101: Any character followed by Right Arrow moves the cursor to the next cell

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10563 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2005-10-21 08:16:12 +00:00
parent da452bbe93
commit e70927a96c
2 changed files with 15 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2005-10-20 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
* insettabular.C (doDispatch): do not override the result of
LFUN_RIGHT/LEFT. (bug 2101)
2005-09-16 Michael Gerz <michael.gerz@teststep.org>
* insetvspace.C (metrics): compute ascent and descent in a way that

View File

@ -511,24 +511,24 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
case LFUN_RIGHTSEL:
case LFUN_RIGHT:
cell(cur.idx())->dispatch(cur, cmd);
cur.dispatched(); // override the cell's decision
if (sl == cur.top())
if (!cur.result().dispatched()) {
isRightToLeft(cur) ? movePrevCell(cur) : moveNextCell(cur);
if (sl == cur.top()) {
cmd = FuncRequest(LFUN_FINISHED_RIGHT);
cur.undispatched();
if (sl == cur.top())
cmd = FuncRequest(LFUN_FINISHED_RIGHT);
else
cur.dispatched();
}
break;
case LFUN_LEFTSEL:
case LFUN_LEFT:
cell(cur.idx())->dispatch(cur, cmd);
cur.dispatched(); // override the cell's decision
if (sl == cur.top())
if (!cur.result().dispatched()) {
isRightToLeft(cur) ? moveNextCell(cur) : movePrevCell(cur);
if (sl == cur.top()) {
cmd = FuncRequest(LFUN_FINISHED_LEFT);
cur.undispatched();
if (sl == cur.top())
cmd = FuncRequest(LFUN_FINISHED_LEFT);
else
cur.dispatched();
}
break;