diff options
author | AeioMuch <75151379+AeioMuch@users.noreply.github.com> | 2024-02-25 15:40:39 +0100 |
---|---|---|
committer | AeioMuch <75151379+AeioMuch@users.noreply.github.com> | 2024-03-16 20:42:05 +0100 |
commit | 5cf6f3c77944e9ac953a331066755ea0c239fb1a (patch) | |
tree | 6470b0396632ccafbad5e5e8691da3ff160fb032 /editor/plugins/script_editor_plugin.cpp | |
parent | fe01776f05b1787b28b4a270d53037a3c25f4ca2 (diff) | |
download | redot-engine-5cf6f3c77944e9ac953a331066755ea0c239fb1a.tar.gz |
Hide Search Results by default. Show it on first search and push it at the end. Add a close button to hide it back. Also switch to Script Editor if a searched line is clicked.
Diffstat (limited to 'editor/plugins/script_editor_plugin.cpp')
-rw-r--r-- | editor/plugins/script_editor_plugin.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index edec4af094..8daa207707 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -1715,18 +1715,6 @@ void ScriptEditor::_notification(int p_what) { _test_script_times_on_disk(); _update_modified_scripts_for_external_editor(); } break; - - case CanvasItem::NOTIFICATION_VISIBILITY_CHANGED: { - if (is_visible()) { - find_in_files_button->show(); - } else { - if (find_in_files->is_visible_in_tree()) { - EditorNode::get_bottom_panel()->hide_bottom_panel(); - } - find_in_files_button->hide(); - } - - } break; } } @@ -3775,6 +3763,7 @@ void ScriptEditor::_on_find_in_files_result_selected(const String &fpath, int li ScriptTextEditor *ste = Object::cast_to<ScriptTextEditor>(_get_current_editor()); if (ste) { + EditorInterface::get_singleton()->set_main_screen_editor("Script"); ste->goto_line_selection(line_number, begin, end); } } @@ -3789,6 +3778,7 @@ void ScriptEditor::_on_find_in_files_result_selected(const String &fpath, int li ScriptTextEditor *ste = Object::cast_to<ScriptTextEditor>(_get_current_editor()); if (ste) { + EditorInterface::get_singleton()->set_main_screen_editor("Script"); ste->goto_line_selection(line_number - 1, begin, end); } return; @@ -3822,6 +3812,13 @@ void ScriptEditor::_start_find_in_files(bool with_replace) { find_in_files->set_replace_text(find_in_files_dialog->get_replace_text()); find_in_files->start_search(); + if (find_in_files_button->get_index() != find_in_files_button->get_parent()->get_child_count()) { + find_in_files_button->get_parent()->move_child(find_in_files_button, -1); + } + if (!find_in_files_button->is_visible()) { + find_in_files_button->show(); + } + EditorNode::get_bottom_panel()->make_item_visible(find_in_files); } @@ -3848,6 +3845,11 @@ void ScriptEditor::_set_zoom_factor(float p_zoom_factor) { } } +void ScriptEditor::_on_find_in_files_close_button_clicked() { + EditorNode::get_bottom_panel()->hide_bottom_panel(); + find_in_files_button->hide(); +} + void ScriptEditor::_window_changed(bool p_visible) { make_floating->set_visible(!p_visible); is_floating = p_visible; @@ -4201,6 +4203,7 @@ ScriptEditor::ScriptEditor(WindowWrapper *p_wrapper) { find_in_files->set_custom_minimum_size(Size2(0, 200) * EDSCALE); find_in_files->connect(FindInFilesPanel::SIGNAL_RESULT_SELECTED, callable_mp(this, &ScriptEditor::_on_find_in_files_result_selected)); find_in_files->connect(FindInFilesPanel::SIGNAL_FILES_MODIFIED, callable_mp(this, &ScriptEditor::_on_find_in_files_modified_files)); + find_in_files->connect(FindInFilesPanel::SIGNAL_CLOSE_BUTTON_CLICKED, callable_mp(this, &ScriptEditor::_on_find_in_files_close_button_clicked)); find_in_files->hide(); find_in_files_button->hide(); |