From 87085fa2fde9395dd54fba06db513f2ac570cf48 Mon Sep 17 00:00:00 2001 From: Vincent van Ravesteijn Date: Thu, 17 Dec 2009 17:47:09 +0000 Subject: [PATCH] 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 --- src/insets/InsetTabular.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp index 4ad6ae4748..31a7cc1936 100644 --- a/src/insets/InsetTabular.cpp +++ b/src/insets/InsetTabular.cpp @@ -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); }