summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesper K. Pedersen <jesper.pedersen@kdab.com>2013-05-08 15:39:18 +0200
committerJesper K. Pedersen <jesper.pedersen@kdab.com>2013-05-13 10:17:48 +0200
commit55a80239cf40562e9eeb92702e0e55e8ecb19a41 (patch)
treef7ab4c76874b48a89efee4231cf5996619bd44f5
parent9a64840e2490de27d85bf00634a7ef6f74a0432c (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.cpp14
-rw-r--r--objects/basetexteditor.h2
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 &regexp, 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;