ladybird/Userland/Applications/Help/MainWidget.h
thankyouverycool 21ba9c808e Help: Improve search ergonomics
Up and down arrows now select search results. Matching index now
displays in full before filtering. Searching from the command
line focuses the query, and searches are now case insensitive.
2022-03-02 21:37:58 +01:00

54 lines
1.3 KiB
C++

/*
* Copyright (c) 2022, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include "History.h"
#include "ManualModel.h"
#include <LibGUI/FilteringProxyModel.h>
#include <LibWeb/OutOfProcessWebView.h>
namespace Help {
class MainWidget final : public GUI::Widget {
C_OBJECT(MainWidget);
public:
virtual ~MainWidget() override = default;
ErrorOr<void> initialize_fallibles(GUI::Window&);
void set_start_page(String const& page, int section);
private:
MainWidget();
void open_url(URL const&);
void open_page(String const& path);
void open_external(URL const&);
History m_history;
RefPtr<GUI::Menu> m_context_menu;
RefPtr<ManualModel> m_manual_model;
RefPtr<GUI::FilteringProxyModel> m_filter_model;
RefPtr<GUI::Action> m_go_back_action;
RefPtr<GUI::Action> m_go_forward_action;
RefPtr<GUI::Action> m_go_home_action;
RefPtr<GUI::Action> m_copy_action;
RefPtr<GUI::Action> m_select_all_action;
RefPtr<GUI::TabWidget> m_tab_widget;
RefPtr<GUI::Widget> m_search_container;
RefPtr<GUI::TextBox> m_search_box;
RefPtr<GUI::ListView> m_search_view;
RefPtr<GUI::TreeView> m_browse_view;
RefPtr<Web::OutOfProcessWebView> m_web_view;
RefPtr<GUI::Toolbar> m_toolbar;
RefPtr<GUI::Statusbar> m_statusbar;
};
}