aboutsummaryrefslogtreecommitdiffstats
path: root/findwidget.cpp
diff options
context:
space:
mode:
authornils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2012-10-05 12:45:36 +0000
committernils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2012-10-05 12:45:36 +0000
commitdf5d37ac73aba76d78f86d39be66334c1da5e879 (patch)
treecf90824777c69b6386bbe488b7ceaf8d1092575c /findwidget.cpp
parentadded buttons for previous and next to findwidget (diff)
downloadgpg4usb-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.cpp42
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 )