File indexing completed on 2024-05-05 04:37:31
0001 /* 0002 SPDX-FileCopyrightText: 2010 Aleix Pol Gonzalez <aleixpol@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "documentationfindwidget.h" 0008 #include "ui_documentationfindwidget.h" 0009 0010 using namespace KDevelop; 0011 0012 DocumentationFindWidget::DocumentationFindWidget(QWidget* parent) 0013 : QWidget(parent) 0014 { 0015 m_ui = new Ui::FindWidget; 0016 m_ui->setupUi(this); 0017 0018 connect(m_ui->findText, &QLineEdit::textEdited, 0019 this, &DocumentationFindWidget::emitDataChanged); 0020 connect(m_ui->matchCase, &QAbstractButton::toggled, 0021 this, &DocumentationFindWidget::emitDataChanged); 0022 connect(m_ui->findText, &QLineEdit::returnPressed, 0023 this, &DocumentationFindWidget::searchNext); 0024 connect(m_ui->nextButton, &QToolButton::clicked, 0025 this, &DocumentationFindWidget::searchNext); 0026 connect(m_ui->previousButton, &QToolButton::clicked, 0027 this, &DocumentationFindWidget::searchPrevious); 0028 // TODO: disable next/previous buttons if no (more) search hits, color coding in text field 0029 } 0030 0031 DocumentationFindWidget::~DocumentationFindWidget() 0032 { 0033 delete m_ui; 0034 } 0035 0036 void KDevelop::DocumentationFindWidget::searchNext() 0037 { 0038 FindOptions opts=Next; 0039 if (m_ui->matchCase->isChecked()) 0040 opts |= MatchCase; 0041 0042 emit searchRequested(m_ui->findText->text(), opts); 0043 } 0044 0045 void KDevelop::DocumentationFindWidget::searchPrevious() 0046 { 0047 FindOptions opts=Previous; 0048 if (m_ui->matchCase->isChecked()) 0049 opts |= MatchCase; 0050 0051 emit searchRequested(m_ui->findText->text(), opts); 0052 } 0053 0054 void KDevelop::DocumentationFindWidget::startSearch() 0055 { 0056 show(); 0057 m_ui->findText->selectAll(); 0058 m_ui->findText->setFocus(); 0059 } 0060 0061 void DocumentationFindWidget::emitDataChanged() 0062 { 0063 FindOptions opts; 0064 if (m_ui->matchCase->isChecked()) 0065 opts |= MatchCase; 0066 0067 emit searchDataChanged(m_ui->findText->text(), opts); 0068 } 0069 0070 void KDevelop::DocumentationFindWidget::hideEvent(QHideEvent* event) 0071 { 0072 emit searchFinished(); 0073 QWidget::hideEvent(event); 0074 } 0075 0076 #include "moc_documentationfindwidget.cpp"