diff options
author | Jesper K. Pedersen <jesper.pedersen@kdab.com> | 2013-05-08 15:39:18 +0200 |
---|---|---|
committer | Jesper K. Pedersen <jesper.pedersen@kdab.com> | 2013-05-13 10:17:48 +0200 |
commit | 55a80239cf40562e9eeb92702e0e55e8ecb19a41 (patch) | |
tree | f7ab4c76874b48a89efee4231cf5996619bd44f5 | |
parent | 9a64840e2490de27d85bf00634a7ef6f74a0432c (diff) |
added function deleteRegion to delete text between two points
Change-Id: I35deb6b24fb7ba61ac5c4e89b3804aa852e56d02
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
-rw-r--r-- | objects/basetexteditor.cpp | 14 | ||||
-rw-r--r-- | objects/basetexteditor.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/objects/basetexteditor.cpp b/objects/basetexteditor.cpp index 747b20e..67fdda5 100644 --- a/objects/basetexteditor.cpp +++ b/objects/basetexteditor.cpp @@ -487,6 +487,20 @@ bool BaseTextEditor::findRegexp(const QString ®exp, bool backward, bool caseS return true; } +void BaseTextEditor::deleteRegion(const Position &from, const Position &to) +{ + QPointer<Mark> start = createMark(); + gotoPosition(from); + int fromPos = nativePosition(); + gotoPosition(to); + int toPos = nativePosition(); + QTextCursor cursor( textEditorWidget()->document()); + cursor.setPosition(fromPos); + cursor.setPosition(toPos, QTextCursor::KeepAnchor); + cursor.removeSelectedText(); + gotoMark(start); +} + void BaseTextEditor::indent() { if (textEditorWidget()) diff --git a/objects/basetexteditor.h b/objects/basetexteditor.h index f5101c4..e2aee53 100644 --- a/objects/basetexteditor.h +++ b/objects/basetexteditor.h @@ -35,6 +35,7 @@ #include "texteditor.h" #include <QTextDocument> +#include "utils/position.h" namespace TextEditor { class BaseTextEditor; @@ -124,6 +125,7 @@ public slots: bool find(const QString& text, bool backward = false, bool caseSensitively = false, bool wholeWords = false); bool findRegexp(const QString& regexp, bool backward = false, bool caseSensitively = false, bool wholeWords = false); void indent(); + void deleteRegion( const Position& from, const Position& to); private: QTextDocument::FindFlags flags(bool backward, bool caseSensitively, bool wholeWords) const; |