aboutsummaryrefslogtreecommitdiffhomepage
path: root/qt/ScintillaEditBase/ScintillaQt.cpp
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2014-05-01 10:51:55 +1000
committerNeil <nyamatongwe@gmail.com>2014-05-01 10:51:55 +1000
commitd4240cac256a9fc8e49e127a602a8ec6e47ba067 (patch)
treeb95f529ed4a663877831868f4cbce56e65ad1cbe /qt/ScintillaEditBase/ScintillaQt.cpp
parent87c435a58c291770bedbc1302a86dacff14cac4f (diff)
downloadscintilla-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.cpp16
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);
}