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
commitf6ad671e48322e34cf23f75ea4abcff008a15e1a (patch)
tree00c94093fdb057662841a189463d58be2f2741c8 /qt/ScintillaEditBase/ScintillaQt.cpp
parent928306bf07dace37ace9eb053b87599ee47145e8 (diff)
downloadscintilla-mirror-f6ad671e48322e34cf23f75ea4abcff008a15e1a.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);
}