diff options
author | Neil <nyamatongwe@gmail.com> | 2014-05-01 10:51:55 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2014-05-01 10:51:55 +1000 |
commit | d4240cac256a9fc8e49e127a602a8ec6e47ba067 (patch) | |
tree | b95f529ed4a663877831868f4cbce56e65ad1cbe /qt/ScintillaEditBase/ScintillaQt.cpp | |
parent | 87c435a58c291770bedbc1302a86dacff14cac4f (diff) | |
download | scintilla-mirror-d4240cac256a9fc8e49e127a602a8ec6e47ba067.tar.gz |
Consolidate insertion for paste into Editor class and perform line end
conversion in Editor.
Diffstat (limited to 'qt/ScintillaEditBase/ScintillaQt.cpp')
-rw-r--r-- | qt/ScintillaEditBase/ScintillaQt.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/qt/ScintillaEditBase/ScintillaQt.cpp b/qt/ScintillaEditBase/ScintillaQt.cpp index 03218cf34..fae5b730d 100644 --- a/qt/ScintillaEditBase/ScintillaQt.cpp +++ b/qt/ScintillaEditBase/ScintillaQt.cpp @@ -339,21 +339,14 @@ void ScintillaQt::PasteFromMode(QClipboard::Mode clipboardMode_) bool isRectangular = IsRectangularInMime(mimeData); QString text = clipboard->text(clipboardMode_); QByteArray utext = BytesForDocument(text); - int len = utext.length(); - std::string dest = Document::TransformLineEnds(utext, len, pdoc->eolMode); + std::string dest(utext, utext.length()); SelectionText selText; selText.Copy(dest, pdoc->dbcsCodePage, CharacterSetOfDocument(), isRectangular, false); UndoGroup ug(pdoc); ClearSelection(multiPasteMode == SC_MULTIPASTE_EACH); - SelectionPosition selStart = sel.IsRectangular() ? - sel.Rectangular().Start() : - sel.Range(sel.Main()).Start(); - if (selText.rectangular) { - PasteRectangular(selStart, selText.Data(), static_cast<int>(selText.Length())); - } else { - InsertPaste(selStart, selText.Data(), static_cast<int>(selText.Length())); - } + InsertPasteShape(selText.Data(), static_cast<int>(selText.Length()), + selText.rectangular ? pasteRectangular : pasteStream); EnsureCaretVisible(); } @@ -741,10 +734,9 @@ void ScintillaQt::Drop(const Point &point, const QMimeData *data, bool move) bool rectangular = IsRectangularInMime(data); QByteArray bytes = BytesForDocument(text); int len = bytes.length(); - std::string dest = Document::TransformLineEnds(bytes, len, pdoc->eolMode); SelectionPosition movePos = SPositionFromLocation(point, false, false, UserVirtualSpace()); - DropAt(movePos, dest.c_str(), dest.length(), move, rectangular); + DropAt(movePos, bytes, len, move, rectangular); } |