Skip to content

Commit a34814b

Browse files
committed
Merge pull request #85205 from jsjtxietian/grab-focus
Set some window in visual shader editor to be exclusive
2 parents ca24529 + b7ba667 commit a34814b

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

editor/plugins/visual_shader_editor_plugin.cpp

+10-3
Original file line numberDiff line numberDiff line change
@@ -4080,6 +4080,12 @@ void VisualShaderEditor::_show_members_dialog(bool at_mouse_pos, VisualShaderNod
40804080
saved_node_pos_dirty = false;
40814081
members_dialog->set_position(graph->get_screen_position() + Point2(5 * EDSCALE, 65 * EDSCALE));
40824082
}
4083+
4084+
if (members_dialog->is_visible()) {
4085+
members_dialog->grab_focus();
4086+
return;
4087+
}
4088+
40834089
members_dialog->popup();
40844090

40854091
// Keep dialog within window bounds.
@@ -5384,6 +5390,7 @@ VisualShaderEditor::VisualShaderEditor() {
53845390
preview_window = memnew(Window);
53855391
preview_window->set_title(TTR("Generated Shader Code"));
53865392
preview_window->set_visible(preview_showed);
5393+
preview_window->set_exclusive(true);
53875394
preview_window->connect("close_requested", callable_mp(this, &VisualShaderEditor::_preview_close_requested));
53885395
preview_window->connect("size_changed", callable_mp(this, &VisualShaderEditor::_preview_size_changed));
53895396
add_child(preview_window);
@@ -5485,7 +5492,7 @@ VisualShaderEditor::VisualShaderEditor() {
54855492

54865493
members_dialog = memnew(ConfirmationDialog);
54875494
members_dialog->set_title(TTR("Create Shader Node"));
5488-
members_dialog->set_exclusive(false);
5495+
members_dialog->set_exclusive(true);
54895496
members_dialog->add_child(members_vb);
54905497
members_dialog->set_ok_button_text(TTR("Create"));
54915498
members_dialog->get_ok_button()->connect("pressed", callable_mp(this, &VisualShaderEditor::_member_create));
@@ -5497,7 +5504,7 @@ VisualShaderEditor::VisualShaderEditor() {
54975504
{
54985505
add_varying_dialog = memnew(ConfirmationDialog);
54995506
add_varying_dialog->set_title(TTR("Create Shader Varying"));
5500-
add_varying_dialog->set_exclusive(false);
5507+
add_varying_dialog->set_exclusive(true);
55015508
add_varying_dialog->set_ok_button_text(TTR("Create"));
55025509
add_varying_dialog->get_ok_button()->connect("pressed", callable_mp(this, &VisualShaderEditor::_varying_create));
55035510
add_varying_dialog->get_ok_button()->set_disabled(true);
@@ -5543,7 +5550,7 @@ VisualShaderEditor::VisualShaderEditor() {
55435550
{
55445551
remove_varying_dialog = memnew(ConfirmationDialog);
55455552
remove_varying_dialog->set_title(TTR("Delete Shader Varying"));
5546-
remove_varying_dialog->set_exclusive(false);
5553+
remove_varying_dialog->set_exclusive(true);
55475554
remove_varying_dialog->set_ok_button_text(TTR("Delete"));
55485555
remove_varying_dialog->get_ok_button()->connect("pressed", callable_mp(this, &VisualShaderEditor::_varying_deleted));
55495556
add_child(remove_varying_dialog);

0 commit comments

Comments
 (0)