1 #include "searchwidget.h"
6 SearchWidget::SearchWidget(QWidget *parent)
11 m_ui.notFoundLabel->hide();
12 m_origPalette = m_ui.lineEdit->palette();
14 connect(m_ui.nextButton, SIGNAL(clicked()),
15 SLOT(slotSearchNext()));
16 connect(m_ui.prevButton, SIGNAL(clicked()),
17 SLOT(slotSearchPrev()));
18 connect(m_ui.closeButton, SIGNAL(clicked()),
20 connect(m_ui.lineEdit, SIGNAL(returnPressed()),
21 SLOT(slotSearchNext()));
23 installEventFilter(this);
26 void SearchWidget::slotSearchNext()
28 QString txt = m_ui.lineEdit->text();
30 emit searchNext(txt, caseSensitivity());
33 void SearchWidget::slotSearchPrev()
35 QString txt = m_ui.lineEdit->text();
37 emit searchPrev(txt, caseSensitivity());
40 void SearchWidget::slotCancel()
45 void SearchWidget::showEvent(QShowEvent *event)
47 return QWidget::showEvent(event);
50 Qt::CaseSensitivity SearchWidget::caseSensitivity() const
52 if (m_ui.caseSensitiveBox->isChecked())
53 return Qt::CaseSensitive;
55 return Qt::CaseInsensitive;
58 bool SearchWidget::eventFilter(QObject *object, QEvent* event)
60 if (event->type() == QEvent::KeyPress) {
61 if ((static_cast<QKeyEvent*>(event))->key() == Qt::Key_Escape) {
65 return QWidget::eventFilter(object, event);
68 void SearchWidget::setFound(bool found)
70 QPalette pal = m_origPalette;
71 pal.setColor(QPalette::Active, QPalette::Base,
72 found ? Qt::white : QColor(255, 102, 102));
73 m_ui.lineEdit->setPalette(pal);
74 m_ui.notFoundLabel->setVisible(!found);
77 void SearchWidget::show()
80 m_ui.lineEdit->selectAll();
81 m_ui.lineEdit->setFocus(Qt::ShortcutFocusReason);
82 m_ui.lineEdit->setPalette(m_origPalette);
85 #include "searchwidget.moc"