168QHelpSearchQueryWidget::QHelpSearchQueryWidget(QWidget *parent)
170 , d(
new QHelpSearchQueryWidgetPrivate)
172 QVBoxLayout *vLayout =
new QVBoxLayout(
this);
173 vLayout->setContentsMargins({});
175 QHBoxLayout* hBoxLayout =
new QHBoxLayout;
176 d->m_searchLabel =
new QLabel(
this);
177 d->m_lineEdit =
new QLineEdit(
this);
178 d->m_lineEdit->setClearButtonEnabled(
true);
179 d->m_lineEdit->setCompleter(&d->m_searchCompleter);
180 d->m_lineEdit->installEventFilter(d);
181 d->m_prevQueryButton =
new QToolButton(
this);
182 d->m_prevQueryButton->setArrowType(Qt::LeftArrow);
183 d->m_prevQueryButton->setEnabled(
false);
184 d->m_nextQueryButton =
new QToolButton(
this);
185 d->m_nextQueryButton->setArrowType(Qt::RightArrow);
186 d->m_nextQueryButton->setEnabled(
false);
187 d->m_searchButton =
new QPushButton(
this);
188 hBoxLayout->addWidget(d->m_searchLabel);
189 hBoxLayout->addWidget(d->m_lineEdit);
190 hBoxLayout->addWidget(d->m_prevQueryButton);
191 hBoxLayout->addWidget(d->m_nextQueryButton);
192 hBoxLayout->addWidget(d->m_searchButton);
194 vLayout->addLayout(hBoxLayout);
196 connect(d->m_prevQueryButton, &QAbstractButton::clicked,
this, [
this] { d->prevQuery(); });
197 connect(d->m_nextQueryButton, &QAbstractButton::clicked,
this, [
this] { d->nextQuery(); });
198 connect(d->m_searchButton, &QAbstractButton::clicked,
this, &QHelpSearchQueryWidget::search);
199 connect(d->m_lineEdit, &QLineEdit::returnPressed,
this, &QHelpSearchQueryWidget::search);
202 connect(
this, &QHelpSearchQueryWidget::search,
this, [
this] { d->searchRequested(); });
203 setCompactMode(
true);
293void QHelpSearchQueryWidget::setCompactMode(
bool on)
295 if (d->m_compactMode != on) {
296 d->m_compactMode = on;
297 d->m_prevQueryButton->setVisible(!on);
298 d->m_nextQueryButton->setVisible(!on);
299 d->m_searchLabel->setVisible(!on);