summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesper K. Pedersen <jesper.pedersen@kdab.com>2013-05-08 08:48:52 +0200
committerJesper K. Pedersen <jesper.pedersen@kdab.com>2013-05-13 10:17:19 +0200
commit82119c52ca6b3fd7a054bcade39fdd06ae683620 (patch)
treef57dc757d3eb8330d8e8e49acdd5b096f2a0ec38
parentf5448f89f28f6e3ffd252e2b7e26b302662aab45 (diff)
simplify position handling on the scripting site
The script side do not need access to the native position format (which is characters from the beginning of the file) So instead return the Position object directly instead of the script side needing to call convertPosition Change-Id: I85f800e01d6d5786c873a18311ef9377375b4b00 Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
-rw-r--r--examples/rectangle-commands.js8
-rw-r--r--objects/basetexteditor.cpp4
-rw-r--r--objects/mark.cpp2
-rw-r--r--objects/texteditor.cpp7
-rw-r--r--objects/texteditor.h6
5 files changed, 16 insertions, 11 deletions
diff --git a/examples/rectangle-commands.js b/examples/rectangle-commands.js
index 33e2bef..ba8a6eb 100644
--- a/examples/rectangle-commands.js
+++ b/examples/rectangle-commands.js
@@ -1,12 +1,12 @@
var editor = editors.current()
var anchorPos = editor.position(PositionOperation.Anchor)
-var anchorColumn = editor.convertPosition(anchorPos).column
-var anchorLine = editor.convertPosition(anchorPos).line
+var anchorColumn = anchorPos.column
+var anchorLine = anchorPos.line
var pointPos = editor.position(PositionOperation.Current)
-var pointColumn = editor.convertPosition(pointPos).column
-var pointLine = editor.convertPosition(pointPos).line
+var pointColumn = pointPos.column
+var pointLine = pointPos.line
var startColumn, endColumn, startLine, endLine
if ( anchorLine < pointLine || (anchorLine == pointLine && anchorColumn < pointColumn)) {
diff --git a/objects/basetexteditor.cpp b/objects/basetexteditor.cpp
index eaeb60f..facd965 100644
--- a/objects/basetexteditor.cpp
+++ b/objects/basetexteditor.cpp
@@ -437,7 +437,7 @@ bool BaseTextEditor::find(const QString &text, bool backward, bool caseSensitive
return false;
QTextDocument* doc = textEditorWidget()->document();
- QTextCursor cursor = doc->find(text, position(), flags(backward,caseSensitively,wholeWords));
+ QTextCursor cursor = doc->find(text, nativePosition(), flags(backward,caseSensitively,wholeWords));
if (cursor.isNull())
return false;
@@ -464,7 +464,7 @@ bool BaseTextEditor::findRegexp(const QString &regexp, bool backward, bool caseS
QTextDocument* doc = textEditorWidget()->document();
- QTextCursor cursor = doc->find(QRegExp(regexp), position(), flags(backward,caseSensitively,wholeWords));
+ QTextCursor cursor = doc->find(QRegExp(regexp), nativePosition(), flags(backward,caseSensitively,wholeWords));
if (cursor.isNull())
return false;
diff --git a/objects/mark.cpp b/objects/mark.cpp
index 222b90c..4883550 100644
--- a/objects/mark.cpp
+++ b/objects/mark.cpp
@@ -21,7 +21,7 @@ int Mark::convertPosition(int line, int column)
const int origColumn = m_editor->currentColumn();
m_editor->gotoLine(line, column);
- const int result = m_editor->position();
+ const int result = m_editor->nativePosition();
m_editor->gotoLine(origLine, origColumn);
diff --git a/objects/texteditor.cpp b/objects/texteditor.cpp
index 068a876..82646e4 100644
--- a/objects/texteditor.cpp
+++ b/objects/texteditor.cpp
@@ -9,7 +9,7 @@ TextEditor::TextEditor(QObject *parent) :
{
}
-int TextEditor::position(Enums::PositionOperation posOp, int at) const
+int TextEditor::nativePosition(Enums::PositionOperation posOp, int at) const
{
return editor()->position( static_cast< ::TextEditor::ITextEditor::PositionOperation>(posOp), at);
}
@@ -21,6 +21,11 @@ Position TextEditor::convertPosition(int pos) const
return Position(line,column);
}
+Position TextEditor::position(Enums::PositionOperation posOp, int at) const
+{
+ return convertPosition(nativePosition(posOp,at));
+}
+
QRect TextEditor::cursorRect(int pos) const
{
return editor()->cursorRect(pos);
diff --git a/objects/texteditor.h b/objects/texteditor.h
index 6187d8e..03727d3 100644
--- a/objects/texteditor.h
+++ b/objects/texteditor.h
@@ -13,12 +13,12 @@ class TextEditor : public Editor
{
Q_OBJECT
public:
-
explicit TextEditor(QObject *parent = 0);
+ int nativePosition(Enums::PositionOperation posOp = Enums::Current, int at = -1) const;
+ Position convertPosition(int pos) const;
public slots:
- int position(Enums::PositionOperation posOp = Enums::Current, int at = -1) const;
- Position convertPosition(int pos) const;
+ Position position(Enums::PositionOperation posOp = Enums::Current, int at = -1) const;
QRect cursorRect(int pos = -1) const;
int columnCount() const;
int rowCount() const;