#include "BufferView.h"
#include "buffer_funcs.h"
#include "cursor.h"
+#include "CutAndPaste.h"
#include "debug.h"
#include "gettext.h"
#include "session.h"
#include "lyxrc.h"
#include "lyxtext.h"
#include "paragraph.h"
+#include "undo.h"
#include "frontends/Alert.h"
#include "frontends/Application.h"
#include "support/filefilterlist.h"
#include "support/filetools.h"
-#include "support/fontutils.h"
#include "support/forkedcall.h"
#include "support/fs_extras.h"
#include "support/lyxlib.h"
// Split argument by :
string name;
string tmpname = split(filename, name, ':');
- lyxerr[Debug::INFO] << "Arg is " << filename
+ LYXERR(Debug::INFO) << "Arg is " << filename
<< "\nName is " << name
<< "\nTemplate is " << tmpname << endl;
}
-// Insert ascii file (if filename is empty, prompt for one)
-void insertAsciiFile(BufferView * bv, string const & f, bool asParagraph)
+// Insert plain text file (if filename is empty, prompt for one)
+void insertPlaintextFile(BufferView * bv, string const & f, bool asParagraph)
{
if (!bv->buffer())
return;
// FIXME: We don't know the encoding of the file
- docstring const tmpstr = from_utf8(getContentsOfAsciiFile(bv, f, asParagraph));
+ docstring const tmpstr = from_utf8(getContentsOfPlaintextFile(bv, f, 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 ascii file (if filename is empty, prompt for one)
-string getContentsOfAsciiFile(BufferView * bv, string const & f, bool asParagraph)
+// Read plain text file (if filename is empty, prompt for one)
+string getContentsOfPlaintextFile(BufferView * bv, string const & f, bool asParagraph)
{
FileName fname(f);
if (fname.empty()) {
FileDialog fileDlg(_("Select file to insert"),
- (asParagraph) ? LFUN_FILE_INSERT_ASCII_PARA : LFUN_FILE_INSERT_ASCII);
+ (asParagraph) ? LFUN_FILE_INSERT_PLAINTEXT_PARA : LFUN_FILE_INSERT_PLAINTEXT);
FileDialog::Result result =
fileDlg.open(from_utf8(bv->buffer()->filePath()),