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;

Reply via email to