Skip to content

Commit 5d17bed

Browse files
committed
Editor: Add Filter to Project Export → Options tab
See godotengine/godot-proposals#11335
1 parent 1c8cc9e commit 5d17bed

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

editor/export/project_export.cpp

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ void ProjectExportDialog::_notification(int p_what) {
119119

120120
case NOTIFICATION_THEME_CHANGED: {
121121
_script_encryption_key_visibility_changed(show_script_key->is_pressed());
122+
options_filter->set_right_icon(get_editor_theme_icon(SNAME("Search")));
122123
duplicate_preset->set_button_icon(presets->get_editor_theme_icon(SNAME("Duplicate")));
123124
delete_preset->set_button_icon(presets->get_editor_theme_icon(SNAME("Remove")));
124125
patch_add_btn->set_button_icon(get_editor_theme_icon(SNAME("Add")));
@@ -128,6 +129,7 @@ void ProjectExportDialog::_notification(int p_what) {
128129
duplicate_preset->set_button_icon(presets->get_editor_theme_icon(SNAME("Duplicate")));
129130
delete_preset->set_button_icon(presets->get_editor_theme_icon(SNAME("Remove")));
130131
patch_add_btn->set_button_icon(get_editor_theme_icon(SNAME("Add")));
132+
options_filter->set_right_icon(get_editor_theme_icon(SNAME("Search")));
131133
connect(SceneStringName(confirmed), callable_mp(this, &ProjectExportDialog::_export_pck_zip));
132134
_update_export_all();
133135
} break;
@@ -1650,12 +1652,26 @@ ProjectExportDialog::ProjectExportDialog() {
16501652

16511653
// Main preset parameters.
16521654

1655+
VBoxContainer *parameters_vb = memnew(VBoxContainer);
1656+
parameters_vb->set_name(TTRC("Options"));
1657+
parameters_vb->set_v_size_flags(Control::SIZE_EXPAND_FILL);
1658+
sections->add_child(parameters_vb);
1659+
1660+
options_filter = memnew(LineEdit);
1661+
options_filter->set_placeholder(TTRC("Filter Options"));
1662+
options_filter->set_accessibility_name(TTRC("Filter Options"));
1663+
options_filter->set_clear_button_enabled(true);
1664+
options_filter->set_virtual_keyboard_show_on_focus(false);
1665+
options_filter->set_h_size_flags(Control::SIZE_EXPAND_FILL);
1666+
parameters_vb->add_child(options_filter);
1667+
16531668
parameters = memnew(EditorInspector);
1654-
parameters->set_name(TTRC("Options"));
16551669
parameters->set_mark_unsaved(false);
16561670
parameters->set_v_size_flags(Control::SIZE_EXPAND_FILL);
16571671
parameters->set_use_doc_hints(true);
1658-
sections->add_child(parameters);
1672+
parameters->register_text_enter(options_filter);
1673+
parameters->set_use_filter(true);
1674+
parameters_vb->add_child(parameters);
16591675
parameters->connect("property_edited", callable_mp(this, &ProjectExportDialog::_update_parameters));
16601676
EditorExport::get_singleton()->connect("export_presets_updated", callable_mp(this, &ProjectExportDialog::_force_update_current_preset_parameters));
16611677

editor/export/project_export.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ class ProjectExportDialog : public ConfirmationDialog {
8484

8585
VBoxContainer *settings_vb = nullptr;
8686
LineEdit *name = nullptr;
87+
LineEdit *options_filter = nullptr;
8788
EditorPropertyPath *export_path = nullptr;
8889
EditorInspector *parameters = nullptr;
8990
CheckButton *runnable = nullptr;

0 commit comments

Comments
 (0)