]> git.lyx.org Git - lyx.git/commitdiff
Set the current font when moving into a table or between two table cells.
authorVincent van Ravesteijn <vfr@lyx.org>
Thu, 17 Dec 2009 17:47:09 +0000 (17:47 +0000)
committerVincent van Ravesteijn <vfr@lyx.org>
Thu, 17 Dec 2009 17:47:09 +0000 (17:47 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32570 a592a061-630c-0410-9148-cb99ea01b6c8

src/insets/InsetTabular.cpp

index 4ad6ae474817ea12495c882822fd92010b1a0c56..31a7cc1936b4017c9e1b3018aca251611a0dfdd8 100644 (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);
 }