Set the current font when moving into a table or between two table cells.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32570 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Vincent van Ravesteijn 2009-12-17 17:47:09 +00:00
parent 812616e100
commit 87085fa2fd

View File

@ -3391,6 +3391,7 @@ void InsetTabular::edit(Cursor & cur, bool front, EntryDirection)
cur.pit() = 0;
cur.pos() = cur.lastpos(); // FIXME crude guess
}
cur.setCurrentFont();
// FIXME: this accesses the position cache before it is initialized
//resetPos(cur);
//cur.bv().fitCursor();
@ -3641,6 +3642,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
TextMetrics const & tm =
cur.bv().textMetrics(cell(cur.idx())->getText(0));
cur.pos() = tm.x2pos(cur.pit(), 0, cur.targetX());
cur.setCurrentFont();
}
}
if (sl == cur.top()) {
@ -3652,6 +3654,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
if (cur.selIsMultiCell()) {
cur.pit() = cur.lastpit();
cur.pos() = cur.lastpos();
cur.setCurrentFont();
return;
}
break;
@ -3674,6 +3677,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
ParagraphMetrics const & pm =
tm.parMetrics(cur.lastpit());
cur.pos() = tm.x2pos(cur.pit(), pm.rows().size()-1, cur.targetX());
cur.setCurrentFont();
}
}
if (sl == cur.top()) {
@ -3683,6 +3687,7 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
if (cur.selIsMultiCell()) {
cur.pit() = 0;
cur.pos() = cur.lastpos();
cur.setCurrentFont();
return;
}
break;
@ -4520,7 +4525,7 @@ void InsetTabular::moveNextCell(Cursor & cur, EntryDirection entry_from)
break;
}
cur.setCurrentFont();
resetPos(cur);
}
@ -4570,7 +4575,7 @@ void InsetTabular::movePrevCell(Cursor & cur, EntryDirection entry_from)
break;
}
cur.setCurrentFont();
resetPos(cur);
}