summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Slater <tslater2006@gmail.com>2022-10-01 16:21:35 -0500
committerAndreas Kling <kling@serenityos.org>2022-10-11 11:12:41 +0200
commiteb9db167da96796d0e3d5551d9fec7ce82f942ea (patch)
treec67bf7e4bfa177d3b86f51831684168cf1a7069e
parenta61a0a63c16c2abf231a4a1985860e14b8184b28 (diff)
downloadserenity-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.cpp10
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);