X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferview_funcs.C;h=1742f69441c020af5e37ae6eb58933d8388546aa;hb=f268743f8c014ef2dadd260fd1a3873cb1d2038b;hp=1237b4825e4b653cd5010fc127e8df01bb3e01ae;hpb=2e57f2ff0ae7cd4a6efbf634ffe6d2f4379d9cfc;p=lyx.git diff --git a/src/bufferview_funcs.C b/src/bufferview_funcs.C index 1237b4825e..1742f69441 100644 --- a/src/bufferview_funcs.C +++ b/src/bufferview_funcs.C @@ -3,12 +3,12 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author Jean-Marc Lasgouttes * \author John Levon * \author Angus Leeming * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #include @@ -35,6 +35,7 @@ #include "Lsstream.h" #include "insets/updatableinset.h" +#include "insets/insettext.h" #include #include @@ -50,16 +51,6 @@ bool toggleall(false); namespace bv_funcs { - -void resizeInsets(BufferView * bv) -{ - ParagraphList & paragraphs = bv->buffer()->paragraphs; - /// then remove all LyXText in text-insets - std::for_each(paragraphs.begin(), paragraphs.end(), - boost::bind(&Paragraph::resizeInsetsLyXText, _1, bv)); -} - - // Set data using font and toggle // If successful, returns true bool font2string(LyXFont const & font, bool toggle, string & data) @@ -219,13 +210,14 @@ void number(BufferView * bv) toggleAndShow(bv, font); } + void lang(BufferView * bv, string const & l) { - LyXFont font(LyXFont::ALL_IGNORE); Language const * lang = languages.getLanguage(l); if (!lang) return; + LyXFont font(LyXFont::ALL_IGNORE); font.setLanguage(lang); toggleAndShow(bv, font); } @@ -234,16 +226,14 @@ void lang(BufferView * bv, string const & l) bool changeDepth(BufferView * bv, LyXText * text, DEPTH_CHANGE type, bool test_only) { if (!bv->available() || !text) - return false; + return false; if (test_only) return text->changeDepth(type, true); - bv->update(BufferView::SELECT); bool const changed = text->changeDepth(type, false); if (text->inset_owner) - bv->updateInset((InsetOld *)text->inset_owner); - bv->update(BufferView::SELECT); + bv->updateInset(text->inset_owner); return changed; } @@ -394,20 +384,16 @@ void toggleAndShow(BufferView * bv, LyXFont const & font, bool toggleall) } LyXText * text = bv->getLyXText(); - // FIXME: can this happen ?? - if (!text) - return; - - bv->update(text, BufferView::SELECT); text->toggleFree(font, toggleall); - bv->update(text, BufferView::SELECT); + bv->update(); if (font.language() != ignore_language || font.number() != LyXFont::IGNORE) { LyXCursor & cursor = text->cursor; - text->computeBidiTables(bv->buffer(), text->cursorRow()); + text->computeBidiTables(text->cursor.par(), *bv->buffer(), + text->cursorRow()); if (cursor.boundary() != - text->isBoundary(bv->buffer(), *cursor.par(), cursor.pos(), + text->isBoundary(*bv->buffer(), *cursor.par(), cursor.pos(), text->real_current_font)) text->setCursor(cursor.par(), cursor.pos(), false, !cursor.boundary()); @@ -419,9 +405,8 @@ void toggleAndShow(BufferView * bv, LyXFont const & font, bool toggleall) void replaceSelection(LyXText * lt) { if (lt->selection.set()) { - lt->update(); lt->cutSelection(true, false); - lt->update(); + lt->bv()->update(); } }