diff options
author | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2012-10-08 20:23:16 +0000 |
---|---|---|
committer | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2012-10-08 20:23:16 +0000 |
commit | 2f3721deac6dd862a6890a0669707f49f05e2a8f (patch) | |
tree | a482b399964bccfbbaf22ea2abb5809c63ff01ee | |
parent | now find previous works with Shift+F3 (diff) | |
download | gpg4usb-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
-rw-r--r-- | findwidget.cpp | 15 | ||||
-rw-r--r-- | findwidget.h | 1 |
2 files changed, 10 insertions, 6 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); } diff --git a/findwidget.h b/findwidget.h index 2e95d89..4e69fa6 100644 --- a/findwidget.h +++ b/findwidget.h @@ -31,7 +31,6 @@ private: QTextEdit *mTextpage; /** Textedit associated to the notification */ QLineEdit *findEdit; /** Label holding the text shown in verifyNotification */ - QTextCursor cursor; QTextCharFormat cursorFormat; private slots: |