FileDialog

Inherits: ConfirmationDialog < AcceptDialog < WindowDialog < Popup < Control < CanvasItem < Node < Object

Dialog for selecting files or directories in the filesystem.

Description

FileDialog is a preset dialog used to choose files and directories in the filesystem. It supports filter masks. The FileDialog automatically sets its window title according to the mode. If you want to use a custom title, disable this by setting mode_overrides_title to false.

Properties

Access

access

0

String

current_dir

String

current_file

String

current_path

bool

dialog_hide_on_ok

false (overrides AcceptDialog)

PoolStringArray

filters

PoolStringArray(  )

Mode

mode

4

bool

mode_overrides_title

true

String

root_subfolder

""

bool

show_hidden_files

false

String

window_title

"Save a File" (overrides WindowDialog)

Methods

void

add_filter ( String filter )

void

clear_filters ( )

void

deselect_items ( )

LineEdit

get_line_edit ( )

VBoxContainer

get_vbox ( )

void

invalidate ( )

Theme Properties

Color

file_icon_modulate

Color( 1, 1, 1, 1 )

Color

files_disabled

Color( 1, 1, 1, 0.25 )

Color

folder_icon_modulate

Color( 1, 1, 1, 1 )

Texture

file

Texture

folder

Texture

parent_folder

Texture

reload

Texture

toggle_hidden


Signals

dir_selected ( String dir )

Emitted when the user selects a directory.


file_selected ( String path )

Emitted when the user selects a file by double-clicking it or pressing the OK button.


files_selected ( PoolStringArray paths )

Emitted when the user selects multiple files.


Enumerations

enum Mode:

Mode MODE_OPEN_FILE = 0

The dialog allows selecting one, and only one file.

Mode MODE_OPEN_FILES = 1

The dialog allows selecting multiple files.

Mode MODE_OPEN_DIR = 2

The dialog only allows selecting a directory, disallowing the selection of any file.

Mode MODE_OPEN_ANY = 3

The dialog allows selecting one file or directory.

Mode MODE_SAVE_FILE = 4

The dialog will warn when a file exists.


enum Access:

Access ACCESS_RESOURCES = 0

The dialog only allows accessing files under the Resource path (res://).

Access ACCESS_USERDATA = 1

The dialog only allows accessing files under user data path (user://).

Access ACCESS_FILESYSTEM = 2

The dialog allows accessing files on the whole file system.


Property Descriptions

Access access = 0

The file system access scope. See enum Access constants.

Warning: Currently, in sandboxed environments such as HTML5 builds or sandboxed macOS apps, FileDialog cannot access the host file system. See godot-proposals#1123.


String current_dir

  • void set_current_dir ( String value )

  • String get_current_dir ( )

The current working directory of the file dialog.


String current_file

  • void set_current_file ( String value )

  • String get_current_file ( )

The currently selected file of the file dialog.


String current_path

  • void set_current_path ( String value )

  • String get_current_path ( )

The currently selected file path of the file dialog.


PoolStringArray filters = PoolStringArray(  )

The available file type filters. For example, this shows only .png and .gd files: set_filters(PoolStringArray(["*.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.


Mode mode = 4

  • void set_mode ( Mode value )

  • Mode get_mode ( )

The dialog's open or save mode, which affects the selection behavior. See enum Mode constants.


bool mode_overrides_title = true

  • void set_mode_overrides_title ( bool value )

  • bool is_mode_overriding_title ( )

If true, changing the Mode property will set the window title accordingly (e.g. setting mode to MODE_OPEN_FILE will change the window title to "Open a File").


String root_subfolder = ""

  • void set_root_subfolder ( String value )

  • String get_root_subfolder ( )

If non-empty, the given sub-folder will be "root" of this FileDialog, i.e. user won't be able to go to its parent directory.


bool show_hidden_files = false

  • void set_show_hidden_files ( bool value )

  • bool is_showing_hidden_files ( )

If true, the dialog will show hidden files.


Method Descriptions

void add_filter ( String filter )

Adds filter to the list of filters, which restricts what files can be picked.

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

Example filters: "*.png ; PNG Images", "project.godot ; Redot Project".


void clear_filters ( )

Clear all the added filters in the dialog.


void deselect_items ( )

Clear currently selected items in the dialog.


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.


VBoxContainer get_vbox ( )

Returns the vertical box container of the dialog, custom controls can be added to it.

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 ( )

Invalidate and update the current dialog content list.


Theme Property Descriptions

Color file_icon_modulate = Color( 1, 1, 1, 1 )

The color modulation applied to the file icon.


Color files_disabled = Color( 1, 1, 1, 0.25 )

The color tint for disabled files (when the FileDialog is used in open folder mode).


Color folder_icon_modulate = Color( 1, 1, 1, 1 )

The color modulation applied to the folder icon.


Texture file

Custom icon for files.


Texture folder

Custom icon for folders.


Texture parent_folder

Custom icon for the parent folder arrow.


Texture reload

Custom icon for the reload button.


Texture toggle_hidden

Custom icon for the toggle hidden button.