pos_type selendpos = 0;
bool selection = false;
bool mark_set = false;
-
+
owner_->prohibitInput();
owner_->message(_("Formatting document..."));
delete bv_->text;
bv_->text = new LyXText(bv_);
bv_->text->init(bv_);
+ buffer_->resizeInsets(bv_);
} else {
// See if we have a text in TextCache that fits
// the new buffer_ with the correct width.
} else {
bv_->text = new LyXText(bv_);
bv_->text->init(bv_);
+ //buffer_->resizeInsets(bv_);
}
}
+
updateScreen();
if (par) {
bv_->text->selection.set(true);
- /* at this point just to avoid the Delete-Empty-Paragraph
- * Mechanism when setting the cursor */
+ // At this point just to avoid the Delete-Empty-Paragraph-
+ // Mechanism when setting the cursor.
bv_->text->selection.mark(mark_set);
if (selection) {
bv_->text->setCursor(bv_, selstartpar, selstartpos);
// remake the inset locking
bv_->theLockingInset(the_locking_inset);
}
+
bv_->text->first_y = screen_->topCursorVisible(bv_->text);
-#if 0
- buffer_->resizeInsets(bv_);
-#endif
+
// this will scroll the screen such that the cursor becomes visible
updateScrollbar();
redraw();
if (lyxerr.debugging())
textcache.show(lyxerr, "Expose delete all");
textcache.clear();
+ buffer_->resizeInsets(bv_);
} else if (heightChange) {
// Rebuild image of current screen
updateScreen();
lt->setSelection(bv_);
if (lt->bv_owner)
toggleToggle();
+ else
+ updateInset(lt->inset_owner, false);
+ }
+ if (lt->bv_owner) {
+ update(lt, BufferView::SELECT|BufferView::FITCUR);
+ showCursor();
}
- update(lt, BufferView::SELECT|BufferView::FITCUR);
- showCursor();
/* ---> Everytime the cursor is moved, show the current font state. */
// should this too me moved out of this func?
case LFUN_ENDSEL:
{
LyXText * lt = bv_->getLyXText();
-
+
update(lt, BufferView::SELECT|BufferView::FITCUR);
lt->cursorEnd(bv_);
finishUndo();
| BufferView::FITCUR
| BufferView::CHANGE);
} else {
- protectedBlank(lt);
+ specialChar(InsetSpecialChar::PROTECTED_SEPARATOR);
}
moveCursorUpdate(false);
}
}
-void BufferView::Pimpl::protectedBlank(LyXText * lt)
-{
- if (available()) {
- hideCursor();
- update(lt, BufferView::SELECT|BufferView::FITCUR);
- InsetSpecialChar * new_inset =
- new InsetSpecialChar(InsetSpecialChar::PROTECTED_SEPARATOR);
-#ifdef WITH_WARNINGS
-#warning Why is this code different from specialChar() below? (JMarc)
-// the code in specialChar is a generic version of what used to exist
-// for other special chars. I did not merge this case because of the
-// call to updateInset(), but what does it do?
-#endif
- if (!insertInset(new_inset))
- delete new_inset;
- else
- updateInset(new_inset, true);
- }
-}
-
-
void BufferView::Pimpl::specialChar(InsetSpecialChar::Kind kind)
{
if (available()) {
new InsetSpecialChar(kind);
if (!insertInset(new_inset))
delete new_inset;
+ else
+ updateInset(new_inset, true);
}
}