diff options
author | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2012-10-05 12:45:36 +0000 |
---|---|---|
committer | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2012-10-05 12:45:36 +0000 |
commit | df5d37ac73aba76d78f86d39be66334c1da5e879 (patch) | |
tree | cf90824777c69b6386bbe488b7ceaf8d1092575c /findwidget.cpp | |
parent | added buttons for previous and next to findwidget (diff) | |
download | gpg4usb-df5d37ac73aba76d78f86d39be66334c1da5e879.tar.gz gpg4usb-df5d37ac73aba76d78f86d39be66334c1da5e879.zip |
simplify findwidget (add setbackground method to remove duplicate code)
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@992 34ebc366-c3a9-4b3c-9f84-69acf7962910
Diffstat (limited to 'findwidget.cpp')
-rw-r--r-- | findwidget.cpp | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/findwidget.cpp b/findwidget.cpp index 5e653a3..cc1f73d 100644 --- a/findwidget.cpp +++ b/findwidget.cpp @@ -29,15 +29,9 @@ FindWidget::FindWidget(QWidget *parent, QTextEdit *edit) : QTimer::singleShot(0, findEdit, SLOT(setFocus())); } -void FindWidget::slotFindNext() +void FindWidget::setBackground() { - 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(), cursor, QTextDocument::FindCaseSensitively); - } - + 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())) { @@ -46,8 +40,19 @@ void FindWidget::slotFindNext() bgPalette.setColor( QPalette::Base, Qt::white); } findEdit->setPalette(bgPalette); +} + +void FindWidget::slotFindNext() +{ + 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); + } mTextpage->setTextCursor(cursor); + this->setBackground(); } void FindWidget::slotFind() @@ -58,16 +63,8 @@ void FindWidget::slotFind() cursor = mTextpage->document()->find(findEdit->text(), cursor.anchor(), QTextDocument::FindCaseSensitively); } - // if match is found set background of QLineEdit to white, otherwise to red - QPalette bgPalette( findEdit->palette() ); - if ((cursor.position() == -1) && (!findEdit->text().isEmpty())) { - bgPalette.setColor( QPalette::Base, "#ececba"); - } else { - bgPalette.setColor( QPalette::Base, Qt::white); - } - findEdit->setPalette(bgPalette); - mTextpage->setTextCursor(cursor); + this->setBackground(); } void FindWidget::slotFindPrevious() @@ -87,19 +84,10 @@ void FindWidget::slotFindPrevious() qDebug() << "cursor2: " << cursor.position(); cursor = mTextpage->document()->find(findEdit->text(), cursor, flags); qDebug() << "cursor3: " << cursor.position(); - } - // if match is found set background of QLineEdit to white, otherwise to red - QPalette bgPalette( findEdit->palette() ); - if ((cursor.position() == -1) && (!findEdit->text().isEmpty())) { - bgPalette.setColor( QPalette::Base, "#ececba"); - } else { - bgPalette.setColor( QPalette::Base, Qt::white); - } - findEdit->setPalette(bgPalette); - mTextpage->setTextCursor(cursor); + this->setBackground(); } void FindWidget::keyPressEvent( QKeyEvent* e ) |