mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-27 06:19:36 +00:00
src/insets/insettabular (doDispatch, insertAsciiString): fix insertion of \t- and \n-separated content from external clipboard (bug 2394)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13518 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
2129ed9082
commit
149c83d35d
@ -46,6 +46,7 @@
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
|
||||
using lyx::cap::dirtyTabularStack;
|
||||
using lyx::cap::tabularStackDirty;
|
||||
|
||||
using lyx::graphics::PreviewLoader;
|
||||
@ -467,10 +468,8 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
|
||||
}
|
||||
|
||||
if (cmd.button() == mouse_button::button2) {
|
||||
// FIXME: pasting multiple cells (with insettabular's own
|
||||
// LFUN_PASTESELECTION still does not work! (jspitzm)
|
||||
cmd = FuncRequest(LFUN_PASTESELECTION, "paragraph");
|
||||
cell(cur.idx())->dispatch(cur, cmd);
|
||||
doDispatch(cur, cmd);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -726,11 +725,15 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
|
||||
if (cell < cells && op < len)
|
||||
paste_tabular->getCellInset(cell)->
|
||||
setText(clip.substr(op, len - op), font);
|
||||
} else if (!insertAsciiString(cur.bv(), clip, true)) {
|
||||
dirtyTabularStack(true);
|
||||
} else if (insertAsciiString(cur.bv(), clip, false))
|
||||
break;
|
||||
else {
|
||||
// so that the clipboard is used and it goes on
|
||||
// to default
|
||||
// and executes LFUN_PASTESELECTION in insettext!
|
||||
paste_tabular.reset();
|
||||
dirtyTabularStack(false);
|
||||
}
|
||||
// fall through
|
||||
}
|
||||
@ -1885,6 +1888,7 @@ bool InsetTabular::insertAsciiString(BufferView & bv, string const & buf,
|
||||
new LyXTabular(bv.buffer()->params(), rows, maxCols, &bv));
|
||||
loctab = paste_tabular.get();
|
||||
cols = 0;
|
||||
dirtyTabularStack(true);
|
||||
} else {
|
||||
loctab = &tabular;
|
||||
cell = bv.cursor().idx();
|
||||
|
Loading…
Reference in New Issue
Block a user