d->cursor_.resetAnchor();
d->cursor_.setCurrentFont();
- if (graphics::Previews::status() != LyXRC::PREVIEW_OFF)
- thePreviews().generateBufferPreviews(buffer_);
+ buffer_.updatePreviews();
}
void BufferView::bookmarkEditPosition()
{
+ d->cursor_.markEditPosition();
// Don't eat cpu time for each keystroke
if (d->cursor_.paragraph().id() == d->bookmark_edit_position_)
return;
if (cur.inset().lyxCode() == CAPTION_CODE)
return cur.inset().getStatus(cur, cmd, flag);
// FIXME we should consider passthru paragraphs too.
- flag.setEnabled(!cur.inset().getLayout().isPassThru());
+ flag.setEnabled(!(cur.inTexted() && cur.paragraph().isPassThru()));
break;
case LFUN_CITATION_INSERT: {
FindAndReplaceOptions opt;
istringstream iss(to_utf8(cmd.argument()));
iss >> opt;
- if (findAdv(this, opt))
+ if (findAdv(this, opt)) {
dr.screenUpdate(Update::Force | Update::FitCursor);
+ cur.dispatched();
+ dispatched = true;
+ } else {
+ cur.undispatched();
+ dispatched = false;
+ }
break;
}
}
default:
- dispatched = false;
+ // OK, so try the Buffer itself...
+ buffer_.dispatch(cmd, dr);
+ dispatched = dr.dispatched();
break;
}
buffer_.undo().endUndoGroup();
dr.dispatched(dispatched);
- return;
}
message(bformat(_("Inserting document %1$s..."), disp_fn));
docstring res;
- Buffer buf("", false);
- if (buf.loadLyXFile(filename) == Buffer::ReadSuccess) {
+ Buffer buf(filename.absFileName(), false);
+ if (buf.loadLyXFile() == Buffer::ReadSuccess) {
ErrorList & el = buffer_.errorList("Parse");
// Copy the inserted document error list into the current buffer one.
el = buf.errorList("Parse");
buffer_.changed(true);
// emit message signal.
message(bformat(res, disp_fn));
- buffer_.errors("Parse");
}
}
+bool BufferView::fixInlineCompletionPos()
+{
+ return d->inlineCompletionPos_.fixIfBroken();
+}
+
+
bool samePar(DocIterator const & a, DocIterator const & b)
{
if (a.empty() && b.empty())