22#include "ui_searchtoolbar.h"
30 , ui(new
Ui::SearchToolbar)
34 setAttribute(Qt::WA_DeleteOnClose);
38 ui->next->setShortcut(QKeySequence(
QSL(
"Ctrl+G")));
39 ui->previous->setShortcut(QKeySequence(
QSL(
"Ctrl+Shift+G")));
41 ui->resultsInfo->hide();
44 connect(ui->closeButton, SIGNAL(clicked()),
this, SLOT(
close()));
50 auto* findNextAction =
new QShortcut(QKeySequence(
QSL(
"F3")),
this);
53 auto* findPreviousAction =
new QShortcut(QKeySequence(
QSL(
"Shift+F3")),
this);
56 parent->installEventFilter(
this);
62 ui->caseSensitive->hide();
63 ui->horizontalLayout->setSpacing(2);
64 ui->horizontalLayout->setContentsMargins(2, 6, 2, 6);
70 ui->lineEdit->setFocus();
91 m_findFlags = QWebEnginePage::FindBackward;
99 if (ui->caseSensitive->isChecked()) {
100 m_findFlags = m_findFlags | QWebEnginePage::FindCaseSensitively;
103 m_findFlags = m_findFlags & ~QWebEnginePage::FindCaseSensitively;
117 ui->lineEdit->setText(text);
123 QPointer<SearchToolBar> guard =
this;
124 m_view->findText(text, m_findFlags, [=](QWebEngineFindTextResult result) {
125 bool found = result.numberOfMatches() > 0;
129 if (--m_searchRequests != 0) {
132 if (ui->lineEdit->text().isEmpty())
135 ui->lineEdit->setProperty(
"notfound", QVariant(!found));
136 ui->lineEdit->style()->unpolish(ui->lineEdit);
137 ui->lineEdit->style()->polish(ui->lineEdit);
146 if (result.numberOfMatches() == 0) {
147 ui->resultsInfo->hide();
151 ui->resultsInfo->setText(tr(
"%1 of %2").arg(
152 QString::number(result.activeMatch()), QString::number(result.numberOfMatches())));
153 ui->resultsInfo->show();
160 if (event->type() == QEvent::KeyPress) {
161 auto *ke =
static_cast<QKeyEvent*
>(event);
168 if (ke->modifiers() & Qt::ShiftModifier) {
static IconProvider * instance()