Browse Source

Merge pull request #56626 from KoBeWi/FilterDialog

 Improve FileDialog filters
Rémi Verschelde 3 years ago
parent
commit
5a61822d7c
2 changed files with 4 additions and 1 deletions
  1. 3 1
      doc/classes/FileDialog.xml
  2. 1 0
      scene/gui/file_dialog.cpp

+ 3 - 1
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">

+ 1 - 0
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();