diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-01-09 00:52:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-09 00:52:29 +0100 |
commit | 5a61822d7ccab39b00ddd5c9bcc01fb04112b976 (patch) | |
tree | 54c57c13dfc8806c8446a36167f1ea765645465e | |
parent | d332412dc61f1bb7e3dd957ac3609a74dfdfcd0c (diff) | |
parent | b403954e41f2e47d77a8ee67798cefaeeb6f6588 (diff) |
Merge pull request #56626 from KoBeWi/FilterDialog
Improve FileDialog filters
-rw-r--r-- | doc/classes/FileDialog.xml | 4 | ||||
-rw-r--r-- | scene/gui/file_dialog.cpp | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml index 1207288159..2b0594902f 100644 --- a/doc/classes/FileDialog.xml +++ b/doc/classes/FileDialog.xml @@ -13,7 +13,9 @@ <return type="void" /> <argument index="0" name="filter" type="String" /> <description> - Adds [code]filter[/code] as a custom filter; [code]filter[/code] should be of the form [code]"filename.extension ; Description"[/code]. For example, [code]"*.png ; PNG Images"[/code]. + Adds [code]filter[/code] to the list of filters, which restricts what files can be picked. + A [code]filter[/code] should be of the form [code]"filename.extension ; Description"[/code], where filename and extension can be [code]*[/code] to match any string. Filters starting with [code].[/code] (i.e. empty filenames) are not allowed. + Example filters: [code]"*.png ; PNG Images"[/code], [code]"project.godot ; Godot Project"[/code]. </description> </method> <method name="clear_filters"> diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp index 389c368409..f9b6b1274d 100644 --- a/scene/gui/file_dialog.cpp +++ b/scene/gui/file_dialog.cpp @@ -649,6 +649,7 @@ void FileDialog::clear_filters() { } void FileDialog::add_filter(const String &p_filter) { + ERR_FAIL_COND_MSG(p_filter.begins_with("."), "Filter must be \"filename.extension\", can't start with dot."); filters.push_back(p_filter); update_filters(); invalidate(); |