ladybird/UI/Qt/FindInPageWidget.h
2024-11-10 12:50:45 +01:00

56 lines
1.2 KiB
C++

/*
* Copyright (c) 2024, Tim Ledbetter <timledbetter@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWebView/Forward.h>
#include <UI/Qt/WebContentView.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);
void find_previous();
void find_next();
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 };
};
}