mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 13:27:35 +00:00
LibGUI: Add Widget focus policies
Every widget now has a GUI::FocusPolicy that determines how it can receive focus: - NoFocus: The widget is not focusable (default) - TabFocus: The widget can be focused using the tab key. - ClickFocus: The widget can be focused by clicking on it. - StrongFocus: Both of the above. For widgets that have a focus proxy, getting/setting the focus policy will affect the proxy instead.
This commit is contained in:
parent
34014fa838
commit
aef56159a8
32 changed files with 64 additions and 40 deletions
|
@ -68,6 +68,7 @@ InProcessWebView::InProcessWebView()
|
|||
{
|
||||
set_should_hide_unnecessary_scrollbars(true);
|
||||
set_background_role(ColorRole::Base);
|
||||
set_focus_policy(GUI::FocusPolicy::StrongFocus);
|
||||
|
||||
m_copy_action = GUI::CommonActions::make_copy_action([this](auto&) {
|
||||
GUI::Clipboard::the().set_plain_text(selected_text());
|
||||
|
|
|
@ -61,8 +61,6 @@ public:
|
|||
|
||||
void set_should_show_line_box_borders(bool value) { m_should_show_line_box_borders = value; }
|
||||
|
||||
virtual bool accepts_focus() const override { return true; }
|
||||
|
||||
GUI::Action& select_all_action() { return *m_select_all_action; }
|
||||
GUI::Action& copy_action() { return *m_copy_action; }
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ namespace Web {
|
|||
OutOfProcessWebView::OutOfProcessWebView()
|
||||
{
|
||||
set_should_hide_unnecessary_scrollbars(true);
|
||||
set_focus_policy(GUI::FocusPolicy::StrongFocus);
|
||||
m_client = WebContentClient::construct(*this);
|
||||
client().post_message(Messages::WebContentServer::UpdateSystemTheme(Gfx::current_system_theme_buffer_id()));
|
||||
}
|
||||
|
|
|
@ -68,7 +68,6 @@ private:
|
|||
OutOfProcessWebView();
|
||||
|
||||
// ^Widget
|
||||
virtual bool accepts_focus() const override { return true; }
|
||||
virtual void paint_event(GUI::PaintEvent&) override;
|
||||
virtual void resize_event(GUI::ResizeEvent&) override;
|
||||
virtual void mousedown_event(GUI::MouseEvent&) override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue