X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyx_cb.C;h=d437e107b35f9a3103be3a8561aa4969fa47314c;hb=52eb91c94fb70d58dceef430659c8781de2eccda;hp=896f1a99b2f605fb60405eaf3eb10d11c44358e3;hpb=c347f0467bab693ee8d059cb36cbc097dd7028a2;p=lyx.git diff --git a/src/lyx_cb.C b/src/lyx_cb.C index 896f1a99b2..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,18 +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); + 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);