Attention: Here be dragons (unstable version)

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Redot.

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.

Properties

Access

access

0

String

current_dir

String

current_file

String

current_path

bool

dialog_hide_on_ok

false (overrides AcceptDialog)

bool

disable_overwrite_warning

false

DisplayMode

display_mode

0

FileMode

file_mode

4

PackedStringArray

filters

PackedStringArray()

int

option_count

0

bool

show_hidden_files

false

String

title

"Save a File" (overrides Window)

Methods

void

add_filter(filter: String, description: String = "")

void

add_option(name: String, values: PackedStringArray, default_value_index: int)

void

add_side_menu(menu: Control, title: String = "")

void

clear_filters()

LineEdit

get_line_edit()

int

get_option_default(option: int) const

String

get_option_name(option: int) const

PackedStringArray

get_option_values(option: int) const

Dictionary

get_selected_options() const

VBoxContainer

get_vbox()

void

invalidate()

void

popup_file_dialog()

void

set_option_default(option: int, default_value_index: int)

void

set_option_name(option: int, name: String)

void

set_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.


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 🔗

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. See FileMode.


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 OptionButtons and CheckBoxes 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-delimited 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_filters() 🔗

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


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 OptionButtons and/or CheckBoxes. 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_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.