X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyx_cb.C;h=d437e107b35f9a3103be3a8561aa4969fa47314c;hb=ba62665f966508db5a4de6864f4aa7374c5a5356;hp=d455f132aea6845385a84478ff1caaa565ff1448;hpb=1f7a1257f10704868b5e1c23fea575d833f30546;p=lyx.git diff --git a/src/lyx_cb.C b/src/lyx_cb.C index d455f132ae..d437e107b3 100644 --- a/src/lyx_cb.C +++ b/src/lyx_cb.C @@ -21,6 +21,7 @@ #include "BufferView.h" #include "buffer_funcs.h" #include "cursor.h" +#include "CutAndPaste.h" #include "debug.h" #include "gettext.h" #include "session.h" @@ -30,6 +31,7 @@ #include "lyxrc.h" #include "lyxtext.h" #include "paragraph.h" +#include "undo.h" #include "frontends/Alert.h" #include "frontends/Application.h" @@ -329,19 +331,17 @@ void insertPlaintextFile(BufferView * bv, string const & f, bool asParagraph) if (tmpstr.empty()) return; - // clear the selection - LyXText const & text = bv->buffer()->text(); - if (&text == bv->getLyXText()) - bv->cursor().clearSelection(); + LCursor & cur = bv->cursor(); + cap::replaceSelection(cur); + recordUndo(cur); if (asParagraph) - bv->getLyXText()->insertStringAsParagraphs(bv->cursor(), tmpstr); + cur.innerText()->insertStringAsParagraphs(cur, tmpstr); else - bv->getLyXText()->insertStringAsLines(bv->cursor(), tmpstr); - bv->update(); + cur.innerText()->insertStringAsLines(cur, tmpstr); } -// Insert plain text file (if filename is empty, prompt for one) +// Read plain text file (if filename is empty, prompt for one) string getContentsOfPlaintextFile(BufferView * bv, string const & f, bool asParagraph) { FileName fname(f);