ladybird/Ladybird/Qt/FindInPageWidget.h
Tim Ledbetter 2ea680b5b3 UI/Qt: Display query results on find in page panel
The number of matches and current match index are now displayed to the
user when a find in page query is performed.
2024-06-09 21:12:33 -04:00

53 lines
1.2 KiB
C++

/*
* Copyright (c) 2024, Tim Ledbetter <timledbetter@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include "WebContentView.h"
#include <LibWebView/Forward.h>
#include <QCheckBox>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QWidget>
namespace Ladybird {
class WebContentView;
class FindInPageWidget final : public QWidget {
Q_OBJECT
public:
FindInPageWidget(Tab* tab, WebContentView* content_view);
void update_result_label(size_t current_match_index, Optional<size_t> const& total_match_count);
virtual ~FindInPageWidget() override;
public slots:
private:
virtual void keyPressEvent(QKeyEvent*) override;
virtual void focusInEvent(QFocusEvent*) override;
virtual void showEvent(QShowEvent*) override;
virtual void hideEvent(QHideEvent*) override;
void find_text_changed();
Tab* m_tab { nullptr };
WebContentView* m_content_view { nullptr };
QLineEdit* m_find_text { nullptr };
QPushButton* m_previous_button { nullptr };
QPushButton* m_next_button { nullptr };
QPushButton* m_exit_button { nullptr };
QCheckBox* m_match_case { nullptr };
QLabel* m_result_label { nullptr };
};
}