commit cf1c506d64492060d983d7f419caee0b9837d780
Author: Juergen Spitzmueller <[email protected]>
Date: Mon Apr 22 10:56:00 2019 +0200
Handle plain text/html rows/columns in tabular LFUN_PASTE
Fixes: #7932
---
src/insets/InsetTabular.cpp | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 9f2ef5e..a0bfec8 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -4982,6 +4982,19 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest
& cmd)
case LFUN_PASTE:
if (!tabularStackDirty()) {
+ // Check if we have plain text or HTML with
rows/columns.
+ // and if so, pass over to LFUN_CLIPBOARD_PASTE
+ if (!theClipboard().hasGraphicsContents()
+ &&
theClipboard().hasTextContents(Clipboard::AnyTextType)
+ &&
!theClipboard().hasTextContents(Clipboard::LyXTextType)) {
+ docstring const clip =
+
theClipboard().getAsText(Clipboard::PlainTextType);
+ if (clip.find_first_of(from_ascii("\t\n")) !=
docstring::npos) {
+ FuncRequest ncmd =
FuncRequest(LFUN_CLIPBOARD_PASTE, cmd.argument());
+ doDispatch(cur, ncmd);
+ break;
+ }
+ }
if (!cur.selIsMultiCell())
cell(cur.idx())->dispatch(cur, cmd);
break;