aboutsummaryrefslogtreecommitdiffstats
path: root/findwidget.cpp
diff options
context:
space:
mode:
authornils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2012-10-08 20:23:16 +0000
committernils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2012-10-08 20:23:16 +0000
commit2f3721deac6dd862a6890a0669707f49f05e2a8f (patch)
treea482b399964bccfbbaf22ea2abb5809c63ff01ee /findwidget.cpp
parentnow find previous works with Shift+F3 (diff)
downloadgpg4usb-2f3721deac6dd862a6890a0669707f49f05e2a8f.tar.gz
gpg4usb-2f3721deac6dd862a6890a0669707f49f05e2a8f.zip
use dedicated copies of QTextCursor
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@994 34ebc366-c3a9-4b3c-9f84-69acf7962910
Diffstat (limited to 'findwidget.cpp')
-rw-r--r--findwidget.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/findwidget.cpp b/findwidget.cpp
index f2f9bf1..ecaa9dd 100644
--- a/findwidget.cpp
+++ b/findwidget.cpp
@@ -31,7 +31,7 @@ FindWidget::FindWidget(QWidget *parent, QTextEdit *edit) :
void FindWidget::setBackground()
{
- cursor = mTextpage->textCursor();
+ QTextCursor cursor = mTextpage->textCursor();
// if match is found set background of QLineEdit to white, otherwise to red
QPalette bgPalette( findEdit->palette() );
if ((cursor.position() == -1) && (!findEdit->text().isEmpty())) {
@@ -44,11 +44,12 @@ void FindWidget::setBackground()
void FindWidget::slotFindNext()
{
+ QTextCursor cursor = mTextpage->textCursor();
cursor = mTextpage->document()->find(findEdit->text(), cursor, QTextDocument::FindCaseSensitively);
// if end of document is reached, restart search from beginning
if (cursor.position() == -1) {
//cursor.setPosition(0);
- cursor = mTextpage->document()->find(findEdit->text(), QTextCursor::Start, QTextDocument::FindCaseSensitively);
+ QTextCursor cursor = mTextpage->document()->find(findEdit->text(), QTextCursor::Start, QTextDocument::FindCaseSensitively);
}
mTextpage->setTextCursor(cursor);
@@ -57,6 +58,8 @@ void FindWidget::slotFindNext()
void FindWidget::slotFind()
{
+ QTextCursor cursor = mTextpage->textCursor();
+
if (cursor.anchor() == -1) {
cursor = mTextpage->document()->find(findEdit->text(), cursor, QTextDocument::FindCaseSensitively);
} else {
@@ -73,6 +76,7 @@ void FindWidget::slotFindPrevious()
flags |= QTextDocument::FindBackward;
flags |= QTextDocument::FindCaseSensitively;
+ QTextCursor cursor = mTextpage->textCursor();
cursor = mTextpage->document()->find(findEdit->text(), cursor, flags);
// if end of document is reached, restart search from beginning
@@ -80,9 +84,9 @@ void FindWidget::slotFindPrevious()
qDebug() << "cursor:" << cursor.position();
qDebug() << "length: " << mTextpage->document()->toPlainText().length()-1;
- cursor.movePosition(QTextCursor::End);
+ cursor = mTextpage->document()->find(findEdit->text(), QTextCursor::End, QTextDocument::FindCaseSensitively);
qDebug() << "cursor2: " << cursor.position();
- cursor = mTextpage->document()->find(findEdit->text(), cursor, flags);
+ QTextCursor cursor = mTextpage->document()->find(findEdit->text(), cursor, flags);
qDebug() << "cursor3: " << cursor.position();
}
@@ -108,8 +112,9 @@ void FindWidget::keyPressEvent( QKeyEvent* e )
}
void FindWidget::slotClose() {
+ QTextCursor cursor = mTextpage->textCursor();
+
if ( cursor.position() == -1) {
- cursor = mTextpage->textCursor();
cursor.setPosition(0);
mTextpage->setTextCursor(cursor);
}