Changeset View
Changeset View
Standalone View
Standalone View
documentation/documentationfindwidget.cpp
Show All 23 Lines | |||||
24 | using namespace KDevelop; | 24 | using namespace KDevelop; | ||
25 | 25 | | |||
26 | DocumentationFindWidget::DocumentationFindWidget(QWidget* parent) | 26 | DocumentationFindWidget::DocumentationFindWidget(QWidget* parent) | ||
27 | : QWidget(parent) | 27 | : QWidget(parent) | ||
28 | { | 28 | { | ||
29 | m_ui = new Ui::FindWidget; | 29 | m_ui = new Ui::FindWidget; | ||
30 | m_ui->setupUi(this); | 30 | m_ui->setupUi(this); | ||
31 | 31 | | |||
32 | connect(m_ui->findText, &QLineEdit::textEdited, | ||||
33 | this, &DocumentationFindWidget::emitDataChanged); | ||||
34 | connect(m_ui->matchCase, &QAbstractButton::toggled, | ||||
35 | this, &DocumentationFindWidget::emitDataChanged); | ||||
32 | connect(m_ui->findText, &QLineEdit::returnPressed, | 36 | connect(m_ui->findText, &QLineEdit::returnPressed, | ||
33 | this, &DocumentationFindWidget::searchNext); | 37 | this, &DocumentationFindWidget::searchNext); | ||
34 | connect(m_ui->nextButton, &QToolButton::clicked, | 38 | connect(m_ui->nextButton, &QToolButton::clicked, | ||
35 | this, &DocumentationFindWidget::searchNext); | 39 | this, &DocumentationFindWidget::searchNext); | ||
36 | connect(m_ui->previousButton, &QToolButton::clicked, | 40 | connect(m_ui->previousButton, &QToolButton::clicked, | ||
37 | this, &DocumentationFindWidget::searchPrevious); | 41 | this, &DocumentationFindWidget::searchPrevious); | ||
42 | // TODO: disable next/previous buttons if no (more) search hits, color coding in text field | ||||
38 | } | 43 | } | ||
39 | 44 | | |||
40 | DocumentationFindWidget::~DocumentationFindWidget() | 45 | DocumentationFindWidget::~DocumentationFindWidget() | ||
41 | { | 46 | { | ||
42 | delete m_ui; | 47 | delete m_ui; | ||
43 | } | 48 | } | ||
44 | 49 | | |||
45 | void KDevelop::DocumentationFindWidget::searchNext() | 50 | void KDevelop::DocumentationFindWidget::searchNext() | ||
46 | { | 51 | { | ||
47 | FindOptions opts=Next; | 52 | FindOptions opts=Next; | ||
48 | if (m_ui->matchCase->isChecked()) | 53 | if (m_ui->matchCase->isChecked()) | ||
49 | opts |= MatchCase; | 54 | opts |= MatchCase; | ||
50 | 55 | | |||
51 | emit newSearch(m_ui->findText->text(), opts); | 56 | emit searchRequested(m_ui->findText->text(), opts); | ||
52 | } | 57 | } | ||
53 | 58 | | |||
54 | void KDevelop::DocumentationFindWidget::searchPrevious() | 59 | void KDevelop::DocumentationFindWidget::searchPrevious() | ||
55 | { | 60 | { | ||
56 | FindOptions opts=Previous; | 61 | FindOptions opts=Previous; | ||
57 | if (m_ui->matchCase->isChecked()) | 62 | if (m_ui->matchCase->isChecked()) | ||
58 | opts |= MatchCase; | 63 | opts |= MatchCase; | ||
59 | 64 | | |||
60 | emit newSearch(m_ui->findText->text(), opts); | 65 | emit searchRequested(m_ui->findText->text(), opts); | ||
61 | } | 66 | } | ||
62 | 67 | | |||
63 | void KDevelop::DocumentationFindWidget::startSearch() | 68 | void KDevelop::DocumentationFindWidget::startSearch() | ||
64 | { | 69 | { | ||
65 | show(); | 70 | show(); | ||
66 | m_ui->findText->selectAll(); | 71 | m_ui->findText->selectAll(); | ||
67 | m_ui->findText->setFocus(); | 72 | m_ui->findText->setFocus(); | ||
68 | } | 73 | } | ||
69 | 74 | | |||
75 | void DocumentationFindWidget::emitDataChanged() | ||||
76 | { | ||||
77 | FindOptions opts; | ||||
78 | if (m_ui->matchCase->isChecked()) | ||||
79 | opts |= MatchCase; | ||||
80 | | ||||
81 | emit searchDataChanged(m_ui->findText->text(), opts); | ||||
82 | } | ||||
83 | | ||||
70 | void KDevelop::DocumentationFindWidget::hideEvent(QHideEvent* event) | 84 | void KDevelop::DocumentationFindWidget::hideEvent(QHideEvent* event) | ||
71 | { | 85 | { | ||
72 | emit searchFinished(); | 86 | emit searchFinished(); | ||
73 | QWidget::hideEvent(event); | 87 | QWidget::hideEvent(event); | ||
74 | } | 88 | } |