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 <iostream>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
|
using lyx::cap::dirtyTabularStack;
|
||||||
using lyx::cap::tabularStackDirty;
|
using lyx::cap::tabularStackDirty;
|
||||||
|
|
||||||
using lyx::graphics::PreviewLoader;
|
using lyx::graphics::PreviewLoader;
|
||||||
@ -467,10 +468,8 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cmd.button() == mouse_button::button2) {
|
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");
|
cmd = FuncRequest(LFUN_PASTESELECTION, "paragraph");
|
||||||
cell(cur.idx())->dispatch(cur, cmd);
|
doDispatch(cur, cmd);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -726,11 +725,15 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
|
|||||||
if (cell < cells && op < len)
|
if (cell < cells && op < len)
|
||||||
paste_tabular->getCellInset(cell)->
|
paste_tabular->getCellInset(cell)->
|
||||||
setText(clip.substr(op, len - op), font);
|
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
|
// so that the clipboard is used and it goes on
|
||||||
// to default
|
// to default
|
||||||
// and executes LFUN_PASTESELECTION in insettext!
|
// and executes LFUN_PASTESELECTION in insettext!
|
||||||
paste_tabular.reset();
|
paste_tabular.reset();
|
||||||
|
dirtyTabularStack(false);
|
||||||
}
|
}
|
||||||
// fall through
|
// fall through
|
||||||
}
|
}
|
||||||
@ -1885,6 +1888,7 @@ bool InsetTabular::insertAsciiString(BufferView & bv, string const & buf,
|
|||||||
new LyXTabular(bv.buffer()->params(), rows, maxCols, &bv));
|
new LyXTabular(bv.buffer()->params(), rows, maxCols, &bv));
|
||||||
loctab = paste_tabular.get();
|
loctab = paste_tabular.get();
|
||||||
cols = 0;
|
cols = 0;
|
||||||
|
dirtyTabularStack(true);
|
||||||
} else {
|
} else {
|
||||||
loctab = &tabular;
|
loctab = &tabular;
|
||||||
cell = bv.cursor().idx();
|
cell = bv.cursor().idx();
|
||||||
|
Loading…
Reference in New Issue
Block a user