Skip to main content

EditorFileDialog

Inherits: ConfirmationDialog < AcceptDialog < Window < Viewport < Node < Object

A modified version of FileDialog used by the editor.

Description

EditorFileDialog is an enhanced version of FileDialog available only to editor plugins. Additional features include list of favorited/recent files and the ability to see files as thumbnails grid instead of list.

Unlike FileDialog, EditorFileDialog does not have a property for using native dialogs. Instead, native dialogs can be enabled globally via the EditorSettings.interface/editor/use_native_file_dialogs editor setting. They are also enabled automatically when running in sandbox (e.g. on macOS).

Properties

Accessaccess0
Stringcurrent_dir
Stringcurrent_file
Stringcurrent_path
booldialog_hide_on_okfalse (overrides AcceptDialog.dialog_hide_on_ok)
booldisable_overwrite_warningfalse
DisplayModedisplay_mode0
FileModefile_mode4
PackedStringArrayfiltersPackedStringArray()
intoption_count0
boolshow_hidden_filesfalse
Stringtitle"Save a File" (overrides Window.title)

Methods

voidadd_filter\ (\ filter: String, description: String = ""\ )
voidadd_option\ (\ name: String, values: PackedStringArray, default_value_index: int\ )
voidadd_side_menu\ (\ menu: Control, title: String = ""\ )
voidclear_filename_filter\ (\ )
voidclear_filters\ (\ )
Stringget_filename_filter\ (\ ) const
LineEditget_line_edit\ (\ )
intget_option_default\ (\ option: int\ ) const
Stringget_option_name\ (\ option: int\ ) const
PackedStringArrayget_option_values\ (\ option: int\ ) const
Dictionaryget_selected_options\ (\ ) const
VBoxContainerget_vbox\ (\ )
voidinvalidate\ (\ )
voidpopup_file_dialog\ (\ )
voidset_filename_filter\ (\ filter: String\ )
voidset_option_default\ (\ option: int, default_value_index: int\ )
voidset_option_name\ (\ option: int, name: String\ )
voidset_option_values\ (\ option: int, values: PackedStringArray\ )

Signals

dir_selected\ (\ dir: String\ ) 🔗

Emitted when a directory is selected.


file_selected\ (\ path: String\ ) 🔗

Emitted when a file is selected.


filename_filter_changed\ (\ filter: String\ ) 🔗

Emitted when the filter for file names changes.


files_selected\ (\ paths: PackedStringArray\ ) 🔗

Emitted when multiple files are selected.


Enumerations

enum FileMode: 🔗

FileMode FILE_MODE_OPEN_FILE = 0

The EditorFileDialog can select only one file. Accepting the window will open the file.

FileMode FILE_MODE_OPEN_FILES = 1

The EditorFileDialog can select multiple files. Accepting the window will open all files.

FileMode FILE_MODE_OPEN_DIR = 2

The EditorFileDialog can select only one directory. Accepting the window will open the directory.

FileMode FILE_MODE_OPEN_ANY = 3

The EditorFileDialog can select a file or directory. Accepting the window will open it.

FileMode FILE_MODE_SAVE_FILE = 4

The EditorFileDialog can select only one file. Accepting the window will save the file.


enum Access: 🔗

Access ACCESS_RESOURCES = 0

The EditorFileDialog can only view res:// directory contents.

Access ACCESS_USERDATA = 1

The EditorFileDialog can only view user:// directory contents.

Access ACCESS_FILESYSTEM = 2

The EditorFileDialog can view the entire local file system.


enum DisplayMode: 🔗

DisplayMode DISPLAY_THUMBNAILS = 0

The EditorFileDialog displays resources as thumbnails.

DisplayMode DISPLAY_LIST = 1

The EditorFileDialog displays resources as a list of filenames.


Property Descriptions

Access access = 0 🔗

  • void set_access\ (\ value: Access\ )
  • Access get_access\ (\ )

The location from which the user may select a file, including res://, user://, and the local file system.


String current_dir 🔗

  • void set_current_dir\ (\ value: String\ )
  • String get_current_dir\ (\ )

The currently occupied directory.


String current_file 🔗

  • void set_current_file\ (\ value: String\ )
  • String get_current_file\ (\ )

The currently selected file.


String current_path 🔗

  • void set_current_path\ (\ value: String\ )
  • String get_current_path\ (\ )

The file system path in the address bar.


bool disable_overwrite_warning = false 🔗

  • void set_disable_overwrite_warning\ (\ value: bool\ )
  • bool is_overwrite_warning_disabled\ (\ )

If true, the EditorFileDialog will not warn the user before overwriting files.


DisplayMode display_mode = 0 🔗

The view format in which the EditorFileDialog displays resources to the user.


FileMode file_mode = 4 🔗

The dialog's open or save mode, which affects the selection behavior.


PackedStringArray filters = PackedStringArray() 🔗

The available file type filters. For example, this shows only .png and .gd files: set_filters(PackedStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"])). Multiple file types can also be specified in a single filter. "*.png, *.jpg, *.jpeg ; Supported Images" will show both PNG and JPEG files when selected.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedStringArray for more details.


int option_count = 0 🔗

  • void set_option_count\ (\ value: int\ )
  • int get_option_count\ (\ )

The number of additional OptionButton\ s and CheckBox\ es in the dialog.


bool show_hidden_files = false 🔗

  • void set_show_hidden_files\ (\ value: bool\ )
  • bool is_showing_hidden_files\ (\ )

If true, hidden files and directories will be visible in the EditorFileDialog. This property is synchronized with EditorSettings.filesystem/file_dialog/show_hidden_files.


Method Descriptions

void add_filter\ (\ filter: String, description: String = ""\ ) 🔗

Adds a comma-separated file name filter option to the EditorFileDialog with an optional description, which restricts what files can be picked.

A filter should be of the form "filename.extension", where filename and extension can be * to match any string. Filters starting with . (i.e. empty filenames) are not allowed.

For example, a filter of "*.tscn, *.scn" and a description of "Scenes" results in filter text "Scenes (*.tscn, *.scn)".


void add_option\ (\ name: String, values: PackedStringArray, default_value_index: int\ ) 🔗

Adds an additional OptionButton to the file dialog. If values is empty, a CheckBox is added instead.

\ default_value_index should be an index of the value in the values. If values is empty it should be either 1 (checked), or 0 (unchecked).


void add_side_menu\ (\ menu: Control, title: String = ""\ ) 🔗

Adds the given menu to the side of the file dialog with the given title text on top. Only one side menu is allowed.


void clear_filename_filter\ (\ ) 🔗

Clear the filter for file names.


void clear_filters\ (\ ) 🔗

Removes all filters except for "All Files (*.*)".


String get_filename_filter\ (\ ) const 🔗

Returns the value of the filter for file names.


LineEdit get_line_edit\ (\ ) 🔗

Returns the LineEdit for the selected file.

\ Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their CanvasItem.visible property.


int get_option_default\ (\ option: int\ ) const 🔗

Returns the default value index of the OptionButton or CheckBox with index option.


String get_option_name\ (\ option: int\ ) const 🔗

Returns the name of the OptionButton or CheckBox with index option.


PackedStringArray get_option_values\ (\ option: int\ ) const 🔗

Returns an array of values of the OptionButton with index option.


Dictionary get_selected_options\ (\ ) const 🔗

Returns a Dictionary with the selected values of the additional OptionButton\ s and/or CheckBox\ es. Dictionary keys are names and values are selected value indices.


VBoxContainer get_vbox\ (\ ) 🔗

Returns the VBoxContainer used to display the file system.

\ Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their CanvasItem.visible property.


void invalidate\ (\ ) 🔗

Notify the EditorFileDialog that its view of the data is no longer accurate. Updates the view contents on next view update.


void popup_file_dialog\ (\ ) 🔗

Shows the EditorFileDialog at the default size and position for file dialogs in the editor, and selects the file name if there is a current file.


void set_filename_filter\ (\ filter: String\ ) 🔗

Sets the value of the filter for file names.


void set_option_default\ (\ option: int, default_value_index: int\ ) 🔗

Sets the default value index of the OptionButton or CheckBox with index option.


void set_option_name\ (\ option: int, name: String\ ) 🔗

Sets the name of the OptionButton or CheckBox with index option.


void set_option_values\ (\ option: int, values: PackedStringArray\ ) 🔗

Sets the option values of the OptionButton with index option.