From e8c63241d79e84132cd70381e76f40a1e4b7eac7 Mon Sep 17 00:00:00 2001 From: Bo Peng Date: Thu, 22 Feb 2007 17:55:22 +0000 Subject: [PATCH] Fix bug 3238. Table cells should be treated differently because of separate table selection buffer. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17306 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/CutAndPaste.C | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/CutAndPaste.C b/src/CutAndPaste.C index f24b1259cf..ac92f87040 100644 --- a/src/CutAndPaste.C +++ b/src/CutAndPaste.C @@ -643,7 +643,20 @@ void copySelectionToStack() void copySelection(LCursor & cur, docstring const & plaintext) { - copySelectionToStack(cur, theCuts); + // In tablemode, because copy and paste actually use special table stack + // we do not attemp to get selected paragraphs under cursor. Instead, a + // paragraph with the plain text version is generated so that table cells + // can be pasted as pure text somewhere else. + if (cur.selBegin().idx() != cur.selEnd().idx()) { + ParagraphList pars; + Paragraph par; + BufferParams const & bp = cur.buffer().params(); + par.layout(bp.getLyXTextClass().defaultLayout()); + par.insert(0, plaintext, LyXFont(), Change(Change::UNCHANGED)); + pars.push_back(par); + theCuts.push(make_pair(pars, bp.textclass)); + } else + copySelectionToStack(cur, theCuts); // stuff the selection onto the X clipboard, from an explicit copy request putClipboard(theCuts[0].first, theCuts[0].second, plaintext); -- 2.39.2