diff options
author | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2010-06-15 10:44:07 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2010-06-15 12:25:01 +0200 |
commit | a6e5298591ff2da1482b8e4a81b3aed85d74ee6f (patch) | |
tree | 69d1d10956070444c97fb444b9f126ade250b912 /src/libs/cplusplus | |
parent | c44a0e5999e874a1514af522e092a54b3c511779 (diff) | |
download | qt-creator-a6e5298591ff2da1482b8e4a81b3aed85d74ee6f.tar.gz |
Fixed handling of text wrapping and a text layout corner case
Due to using QTextCursor::columnNumber() instead of
QTextCursor::positionInBlock(), a lot of code would not work correctly
when used with wrapped lines.
In addition, there was an issue with columnNumber() returning 0 right
after inserting a character before the last character of a line.
Reviewed-by: mae
Diffstat (limited to 'src/libs/cplusplus')
-rw-r--r-- | src/libs/cplusplus/MatchingText.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libs/cplusplus/MatchingText.cpp b/src/libs/cplusplus/MatchingText.cpp index a20d2371ac..55b3a6e6e7 100644 --- a/src/libs/cplusplus/MatchingText.cpp +++ b/src/libs/cplusplus/MatchingText.cpp @@ -107,7 +107,7 @@ QString MatchingText::insertMatchingBrace(const QTextCursor &cursor, const QStri QTextDocument *doc = tc.document(); QString text = textToProcess; - const QString blockText = tc.block().text().mid(tc.columnNumber()); + const QString blockText = tc.block().text().mid(tc.positionInBlock()); const int length = qMin(blockText.length(), textToProcess.length()); const QChar previousChar = doc->characterAt(tc.selectionEnd() - 1); @@ -217,7 +217,7 @@ QString MatchingText::insertParagraphSeparator(const QTextCursor &tc) const if (tk[index - 1].isNot(T_LBRACE)) return QString(); // nothing to do. - const QString textBlock = tc.block().text().mid(tc.columnNumber()).trimmed(); + const QString textBlock = tc.block().text().mid(tc.positionInBlock()).trimmed(); if (! textBlock.isEmpty()) return QString(); |