aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/searchtextlocator.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2017-02-09 04:37:26 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2017-02-09 04:37:26 -0500
commitc9d6debf9015b7853c3e061bbc64a555d85e2fcd (patch)
tree53341bc57ae9fbad2beb5b6c08d97a68bee0ec8e /SQLiteStudio3/guiSQLiteStudio/searchtextlocator.cpp
parentd5caba2b1f36dc3b92fa705a06097d0597fa2ddd (diff)
parentd9aa870e5d509cc7309ab82dd102a937ab58613a (diff)
Merge tag 'upstream/3.1.1+dfsg1'
Upstream version 3.1.1+dfsg1 # gpg: Signature made Thu 09 Feb 2017 04:37:24 AM EST # gpg: using RSA key 5001E1B09AA3744B # gpg: issuer "unit193@ubuntu.com" # gpg: Good signature from "Unit 193 <unit193@ubuntu.com>" [unknown] # gpg: aka "Unit 193 <unit193@gmail.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 8DB3 E586 865D 2B4A 2B18 5A5C 5001 E1B0 9AA3 744B
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/searchtextlocator.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/searchtextlocator.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/searchtextlocator.cpp b/SQLiteStudio3/guiSQLiteStudio/searchtextlocator.cpp
index ebdf2c0..7e5c2ec 100644
--- a/SQLiteStudio3/guiSQLiteStudio/searchtextlocator.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/searchtextlocator.cpp
@@ -69,6 +69,9 @@ int SearchTextLocator::getStartPosition() const
void SearchTextLocator::setStartPosition(int value)
{
+ if (ignoreCursorMovements)
+ return;
+
startPosition = value;
initialStartPosition = value;
afterDocPositionSwitch = false;
@@ -148,11 +151,18 @@ void SearchTextLocator::replaceCurrent()
if (lastMatchStart == -1 || lastMatchEnd == -1)
return;
+ ignoreCursorMovements = true;
+
QTextCursor cursor(document);
cursor.setPosition(lastMatchStart);
cursor.setPosition(lastMatchEnd, QTextCursor::KeepAnchor);
cursor.removeSelectedText();
cursor.insertText(replaceString);
+
+ ignoreCursorMovements = false;
+
+ // Adjust further lookups according to replaced lenght change.
+ startPosition += replaceString.length() - lookupString.length();
}
bool SearchTextLocator::find(QTextDocument::FindFlags flags)