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:
Andreas Kling 2020-10-30 10:58:27 +01:00
parent 34014fa838
commit aef56159a8
Notes: sideshowbarker 2024-07-19 01:38:37 +09:00
32 changed files with 64 additions and 40 deletions

View file

@ -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());