]> git.lyx.org Git - lyx.git/blobdiff - src/CutAndPaste.cpp
again some things which cherry pick did not catch, sorry
[lyx.git] / src / CutAndPaste.cpp
index 0d70c2fb47cee86f3e84483d7a07acb8570993da..c8e99abcabb9cb3b894e033299f0e9b674c93d0a 100644 (file)
@@ -1045,6 +1045,40 @@ void pasteClipboardText(Cursor & cur, ErrorList & errorList, bool asParagraphs)
                cur.text()->insertStringAsParagraphs(cur, text, cur.current_font);
        else
                cur.text()->insertStringAsLines(cur, text, cur.current_font);
+       cur.setSelection();
+}
+
+
+void pasteSimpleText(Cursor & cur, bool asParagraphs)
+{
+       docstring text;
+       // Use internal clipboard if it is the most recent one
+       if (theClipboard().isInternal()) {
+               if (!checkPastePossible(0))
+                       return;
+
+               ParagraphList const & pars = theCuts[0].first;
+               ParagraphList::const_iterator it = pars.begin();
+               for (; it != pars.end(); ++it) {
+                       if (it != pars.begin())
+                               text += "\n";
+                       text += (*it).asString();
+               }
+               asParagraphs = false;
+       } else {
+               // Then try plain text
+               text = theClipboard().getAsText();
+       }
+
+       if (text.empty())
+               return;
+
+       cur.recordUndo();
+       cutSelection(cur, true, false);
+       if (asParagraphs)
+               cur.text()->insertStringAsParagraphs(cur, text, cur.current_font);
+       else
+               cur.text()->insertStringAsLines(cur, text, cur.current_font);
 }