diff options
author | Timothy Slater <tslater2006@gmail.com> | 2022-10-01 16:21:35 -0500 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-10-11 11:12:41 +0200 |
commit | eb9db167da96796d0e3d5551d9fec7ce82f942ea (patch) | |
tree | c67bf7e4bfa177d3b86f51831684168cf1a7069e | |
parent | a61a0a63c16c2abf231a4a1985860e14b8184b28 (diff) | |
download | serenity-eb9db167da96796d0e3d5551d9fec7ce82f942ea.zip |
HackStudio: Set proper action scope for editor shortcuts
This fixes issue #14429. The editor actions were not given a parent as
scope so defaulted to global. Because HackStudio can have multiple
editors and even multiple editor tab widgets, I chose the
VerticalSplitter that all editor tab widgets get added to as the parent.
With a Widget set as the parent, the action gets WidgetLocal scope and
allows the embedded terminals to receive shortcuts.
Thanks to Andreas for doing a quick look at this and pointing in the
right direction during an Office Hours stream :)
-rw-r--r-- | Userland/DevTools/HackStudio/HackStudioWidget.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Userland/DevTools/HackStudio/HackStudioWidget.cpp b/Userland/DevTools/HackStudio/HackStudioWidget.cpp index f9f94358b2..1a247f53e2 100644 --- a/Userland/DevTools/HackStudio/HackStudioWidget.cpp +++ b/Userland/DevTools/HackStudio/HackStudioWidget.cpp @@ -1257,12 +1257,12 @@ void HackStudioWidget::create_toolbar(GUI::Widget& parent) toolbar.add_action(*m_delete_action); toolbar.add_separator(); - toolbar.add_action(GUI::CommonActions::make_cut_action([this](auto&) { current_editor().cut_action().activate(); })); - toolbar.add_action(GUI::CommonActions::make_copy_action([this](auto&) { current_editor().copy_action().activate(); })); - toolbar.add_action(GUI::CommonActions::make_paste_action([this](auto&) { current_editor().paste_action().activate(); })); + toolbar.add_action(GUI::CommonActions::make_cut_action([this](auto&) { current_editor().cut_action().activate(); }, m_editors_splitter)); + toolbar.add_action(GUI::CommonActions::make_copy_action([this](auto&) { current_editor().copy_action().activate(); }, m_editors_splitter)); + toolbar.add_action(GUI::CommonActions::make_paste_action([this](auto&) { current_editor().paste_action().activate(); }, m_editors_splitter)); toolbar.add_separator(); - toolbar.add_action(GUI::CommonActions::make_undo_action([this](auto&) { current_editor().undo_action().activate(); })); - toolbar.add_action(GUI::CommonActions::make_redo_action([this](auto&) { current_editor().redo_action().activate(); })); + toolbar.add_action(GUI::CommonActions::make_undo_action([this](auto&) { current_editor().undo_action().activate(); }, m_editors_splitter)); + toolbar.add_action(GUI::CommonActions::make_redo_action([this](auto&) { current_editor().redo_action().activate(); }, m_editors_splitter)); toolbar.add_separator(); toolbar.add_action(*m_build_action); |