]> git.lyx.org Git - lyx.git/blobdiff - src/text2.C
*** empty log message ***
[lyx.git] / src / text2.C
index b29176a7e8096b94d101830af373526ec8018585..caaa887447852a72d031f4f13dbad8c409ff93f3 100644 (file)
@@ -1013,7 +1013,8 @@ void LyXText::setSelection(BufferView * bview)
 }
 
 
-string const LyXText::selectionAsString(Buffer const * buffer) const
+string const LyXText::selectionAsString(Buffer const * buffer,
+                                       bool label) const
 {
        if (!selection.set()) return string();
        string result;
@@ -1022,7 +1023,8 @@ string const LyXText::selectionAsString(Buffer const * buffer) const
        if (selection.start.par() == selection.end.par()) {
                result += selection.start.par()->asString(buffer,
                                                          selection.start.pos(),
-                                                         selection.end.pos());
+                                                         selection.end.pos(),
+                                                         label);
                return result;
        }
        
@@ -1031,7 +1033,8 @@ string const LyXText::selectionAsString(Buffer const * buffer) const
        // First paragraph in selection
        result += selection.start.par()->asString(buffer,
                                                  selection.start.pos(),
-                                                 selection.start.par()->size())
+                                                 selection.start.par()->size(),
+                                                 label)
                + "\n\n";
        
        // The paragraphs in between (if any)
@@ -1039,13 +1042,14 @@ string const LyXText::selectionAsString(Buffer const * buffer) const
        tmpcur.par(tmpcur.par()->next());
        while (tmpcur.par() != selection.end.par()) {
                result += tmpcur.par()->asString(buffer, 0,
-                                                tmpcur.par()->size()) +"\n\n";
+                                                tmpcur.par()->size(),
+                                                label) + "\n\n";
                tmpcur.par(tmpcur.par()->next());
        }
 
        // Last paragraph in selection
        result += selection.end.par()->asString(buffer, 0,
-                                               selection.end.pos());
+                                               selection.end.pos(), label);
        
        return result;
 }
@@ -1153,7 +1157,7 @@ LyXText::getStringToIndex(BufferView * bview)
                return string();
        }
 
-       idxstring = selectionAsString(bview->buffer());
+       idxstring = selectionAsString(bview->buffer(), false);
        
        // Implicit selections are cleared afterwards
        //and cursor is set to the original position.
@@ -1723,7 +1727,7 @@ void LyXText::cutSelection(BufferView * bview, bool doclear, bool realcut)
        // finished. The solution used currently just works, to make it
        // faster we need to be more clever and probably also have more
        // calls to stuffClipboard. (Lgb)
-       bview->stuffClipboard(selectionAsString(bview->buffer()));
+       bview->stuffClipboard(selectionAsString(bview->buffer(), true));
 
        // This doesn't make sense, if there is no selection
        if (!selection.set())
@@ -1802,7 +1806,7 @@ void LyXText::copySelection(BufferView * bview)
        // finished. The solution used currently just works, to make it
        // faster we need to be more clever and probably also have more
        // calls to stuffClipboard. (Lgb)
-       bview->stuffClipboard(selectionAsString(bview->buffer()));
+       bview->stuffClipboard(selectionAsString(bview->buffer(), true));
 
        // this doesnt make sense, if there is no selection
        if (!selection.set())
@@ -1835,8 +1839,8 @@ void LyXText::pasteSelection(BufferView * bview)
 
        Paragraph * endpar;
        Paragraph * actpar = cursor.par();
-
        int pos = cursor.pos();
+
        CutAndPaste::pasteSelection(&actpar, &endpar, pos,
                                    bview->buffer()->params.textclass);
     
@@ -1845,9 +1849,7 @@ void LyXText::pasteSelection(BufferView * bview)
        setCursor(bview, cursor.par(), cursor.pos());
        clearSelection();
    
-       selection.cursor = cursor;
        setCursor(bview, actpar, pos);
-       setSelection(bview);
        updateCounters(bview, cursor.row());
 }
 
@@ -2202,8 +2204,8 @@ void LyXText::setCursorIntern(BufferView * bview, Paragraph * par,
                        // and open and lock the inset (bla bla bla)
                        // stuff I don't know... so can you have a look?
                        // (Lgb)
-                       // I moved the lyxerr stuff in here so we can see if this
-                       // is actually really needed and where!
+                       // I moved the lyxerr stuff in here so we can see if
+                       // this is actually really needed and where!
                        // (Jug)
                        it->getLyXText(bview)->setCursorIntern(bview, par, pos, setfont,
                                                               boundary);