diff options
author | Samuel Gaist <samuel.gaist@edeltech.ch> | 2014-11-29 00:28:10 +0100 |
---|---|---|
committer | Konstantin Ritt <ritt.ks@gmail.com> | 2014-12-12 06:59:50 +0100 |
commit | a3640ac2606b66012faf7f32c7d26a8d7f508bef (patch) | |
tree | 64409aab176e9fd64dde996d8384ca0d338ad6c3 /src/gui/text/qtextdocument.cpp | |
parent | 517da68893be9e6d97c7993922c573de9560604d (diff) |
QTextDocument QRegularExpression search cleanup
Code cleanup and improvement
Change-Id: I04109e6eaa24e90e24ba89957adca32281d077dc
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Diffstat (limited to 'src/gui/text/qtextdocument.cpp')
-rw-r--r-- | src/gui/text/qtextdocument.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp index 2eb6f232fb..a3dc1f39c4 100644 --- a/src/gui/text/qtextdocument.cpp +++ b/src/gui/text/qtextdocument.cpp @@ -1516,13 +1516,11 @@ static bool findInBlock(const QTextBlock &block, const QRegularExpression &expre } } //we have a hit, return the cursor for that. - break; + *cursor = QTextCursor(block.docHandle(), block.position() + idx); + cursor->setPosition(cursor->position() + match.capturedLength(), QTextCursor::KeepAnchor); + return true; } - if (idx == -1) - return false; - *cursor = qMove(QTextCursor(block.docHandle(), block.position() + idx)); - cursor->setPosition(cursor->position() + match.capturedLength(), QTextCursor::KeepAnchor); - return true; + return false; } /*! @@ -1557,17 +1555,16 @@ QTextCursor QTextDocument::find(const QRegularExpression &expr, int from, FindFl QTextCursor cursor; QTextBlock block = d->blocksFind(pos); + int blockOffset = pos - block.position(); if (!(options & FindBackward)) { - int blockOffset = qMax(0, pos - block.position()); while (block.isValid()) { if (findInBlock(block, expr, blockOffset, options, &cursor)) return cursor; - blockOffset = 0; block = block.next(); + blockOffset = 0; } } else { - int blockOffset = pos - block.position(); while (block.isValid()) { if (findInBlock(block, expr, blockOffset, options, &cursor)) return cursor; |