/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote * * SPDX-License-Identifier: GPL-3.0 */ #include "searchform.h" #include "ui_searchform.h" #include #include #include SearchForm::SearchForm(QWidget *parent) : QWidget(parent) , ui(new Ui::SearchForm) { ui->setupUi(this); ui->lineEdit->setPlaceholderText(tr("Search")); ui->lineEdit->setClearButtonEnabled(true); ui->result_label->setVisible(false); connect(ui->lineEdit, &QLineEdit::returnPressed, this, [this]() { if(m_view) { QWebEnginePage::FindFlags searchFlags; searchFlags.setFlag(QWebEnginePage::FindCaseSensitively, ui->caseSensitivity_checkBox->isChecked()); searchFlags.setFlag(QWebEnginePage::FindBackward, ui->reverseSearch_checkBox->isChecked()); m_view->findText(ui->lineEdit->text(), searchFlags, [this](bool found) { ui->result_label->setVisible(!found); }); } }); } SearchForm::~SearchForm() { delete ui; } void SearchForm::setView(QWebEngineView *view) { m_view = view; } void SearchForm::showEvent(QShowEvent *event) { ui->lineEdit->setFocus(); ui->lineEdit->selectAll(); event->accept(); } void SearchForm::hideEvent(QHideEvent *event) { // clear highlighted text when hiding if(m_view) { m_view->findText(""); } event->accept(); }