diff options
author | Jesper K. Pedersen <jesper.pedersen@kdab.com> | 2013-05-08 08:48:52 +0200 |
---|---|---|
committer | Jesper K. Pedersen <jesper.pedersen@kdab.com> | 2013-05-13 10:17:19 +0200 |
commit | 82119c52ca6b3fd7a054bcade39fdd06ae683620 (patch) | |
tree | f57dc757d3eb8330d8e8e49acdd5b096f2a0ec38 | |
parent | f5448f89f28f6e3ffd252e2b7e26b302662aab45 (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.js | 8 | ||||
-rw-r--r-- | objects/basetexteditor.cpp | 4 | ||||
-rw-r--r-- | objects/mark.cpp | 2 | ||||
-rw-r--r-- | objects/texteditor.cpp | 7 | ||||
-rw-r--r-- | objects/texteditor.h | 6 |
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 ®exp, 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; |