]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insettabular.C
* src/LyXAction.C: mark goto-clear-bookmark as working without buffer
[lyx.git] / src / insets / insettabular.C
index 6fa185b280b4e28c8cf5d4962ef4e0b3b04232ea..202ac6fa44bb8495781e2a56dd4919f2a87029ff 100644 (file)
@@ -679,12 +679,12 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
                break;
 
        // insert file functions
-       case LFUN_FILE_INSERT_ASCII_PARA:
-       case LFUN_FILE_INSERT_ASCII: {
+       case LFUN_FILE_INSERT_PLAINTEXT_PARA:
+       case LFUN_FILE_INSERT_PLAINTEXT: {
                // FIXME UNICODE
-               string const tmpstr = getContentsOfAsciiFile(&cur.bv(), to_utf8(cmd.argument()), false);
+               string const tmpstr = getContentsOfPlaintextFile(&cur.bv(), to_utf8(cmd.argument()), false);
                // FIXME: We don't know the encoding of the file
-               if (!tmpstr.empty() && !insertAsciiString(cur.bv(), from_utf8(tmpstr), false))
+               if (!tmpstr.empty() && !insertPlaintextString(cur.bv(), from_utf8(tmpstr), false))
                        cur.undispatched();
                break;
        }
@@ -723,14 +723,14 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
        case LFUN_CLIPBOARD_PASTE:
        case LFUN_PRIMARY_SELECTION_PASTE: {
                docstring const clip = (cmd.action == LFUN_CLIPBOARD_PASTE) ?
-                       theClipboard().get() :
+                       theClipboard().getAsText() :
                        theSelection().get();
                if (clip.empty())
                        break;
-               // pass to InsertAsciiString, but
+               // pass to InsertPlaintextString, but
                // only if we have multi-cell content
                if (clip.find_first_of(from_ascii("\t\n")) != docstring::npos) {
-                       if (insertAsciiString(cur.bv(), clip, false)) {
+                       if (insertPlaintextString(cur.bv(), clip, false)) {
                                // content has been replaced,
                                // so cursor might be invalid
                                cur.pos() = cur.lastpos();
@@ -1271,8 +1271,6 @@ void InsetTabular::resetPos(LCursor & cur) const
        }
 
        cur.updateFlags(Update::Force | Update::FitCursor);
-
-       InsetTabularMailer(*this).updateDialog(&bv);
 }
 
 
@@ -1760,8 +1758,6 @@ void InsetTabular::tabularFeatures(LCursor & cur,
        case LyXTabular::LAST_ACTION:
                break;
        }
-
-       InsetTabularMailer(*this).updateDialog(&bv);
 }
 
 
@@ -1814,10 +1810,13 @@ bool InsetTabular::copySelection(LCursor & cur)
        odocstringstream os;
        OutputParams const runparams;
        paste_tabular->plaintext(cur.buffer(), os, runparams, 0, true, '\t');
-       theClipboard().put(os.str());
+       // Needed for the "Edit->Paste recent" menu and the system clipboard.
+       cap::copySelection(cur, os.str());
+
        // mark tabular stack dirty
        // FIXME: this is a workaround for bug 1919. Should be removed for 1.5,
        // when we (hopefully) have a one-for-all paste mechanism.
+       // This must be called after cap::copySelection.
        dirtyTabularStack(true);
 
        return true;
@@ -1954,7 +1953,7 @@ bool InsetTabular::forceDefaultParagraphs(idx_type cell) const
 }
 
 
-bool InsetTabular::insertAsciiString(BufferView & bv, docstring const & buf,
+bool InsetTabular::insertPlaintextString(BufferView & bv, docstring const & buf,
                                     bool usePaste)
 {
        if (buf.length() <= 0)