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

"res://"

String

current_file

""

String

current_path

"res://"

bool

dialog_hide_on_ok

false (parent override)

PoolStringArray

filters

PoolStringArray(  )

Mode

mode

4

bool

mode_overrides_title

true

bool

show_hidden_files

false

String

window_title

"Save a File" (parent override)

Methods

void

add_filter ( String filter )

void

clear_filters ( )

void

deselect_items ( )

LineEdit

get_line_edit ( )

VBoxContainer

get_vbox ( )

void

invalidate ( )

Signals

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.


Emitted when the user selects multiple files.

Enumerations

enum Mode:

  • MODE_OPEN_FILE = 0 --- The dialog allows selecting one, and only one file.

  • MODE_OPEN_FILES = 1 --- The dialog allows selecting multiple files.

  • MODE_OPEN_DIR = 2 --- The dialog only allows selecting a directory, disallowing the selection of any file.

  • MODE_OPEN_ANY = 3 --- The dialog allows selecting one file or directory.

  • MODE_SAVE_FILE = 4 --- The dialog will warn when a file exists.


enum Access:

  • ACCESS_RESOURCES = 0 --- The dialog only allows accessing files under the Resource path (res://).

  • ACCESS_USERDATA = 1 --- The dialog only allows accessing files under user data path (user://).

  • ACCESS_FILESYSTEM = 2 --- The dialog allows accessing files on the whole file system.

Property Descriptions

Default

0

Setter

set_access(value)

Getter

get_access()

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.


Default

"res://"

Setter

set_current_dir(value)

Getter

get_current_dir()

The current working directory of the file dialog.


Default

""

Setter

set_current_file(value)

Getter

get_current_file()

The currently selected file of the file dialog.


Default

"res://"

Setter

set_current_path(value)

Getter

get_current_path()

The currently selected file path of the file dialog.


Default

PoolStringArray(  )

Setter

set_filters(value)

Getter

get_filters()

The available file type filters. For example, this shows only .png and .gd files: set_filters(PoolStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"])).


Default

4

Setter

set_mode(value)

Getter

get_mode()

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


  • bool mode_overrides_title

Default

true

Setter

set_mode_overrides_title(value)

Getter

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").


  • bool show_hidden_files

Default

false

Setter

set_show_hidden_files(value)

Getter

is_showing_hidden_files()

If true, the dialog will show hidden files.

Method Descriptions

  • void add_filter ( String filter )

Adds filter as a custom filter; filter should be of the form "filename.extension ; Description". For example, "*.png ; PNG Images".


  • void clear_filters ( )

Clear all the added filters in the dialog.


  • void deselect_items ( )

Clear currently selected items in the dialog.


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.


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

Custom icon for files.


  • Color file_icon_modulate

Default

Color( 1, 1, 1, 1 )

The color modulation applied to the file icon.


Default

Color( 0, 0, 0, 0.7 )

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


Custom icon for folders.


  • Color folder_icon_modulate

Default

Color( 1, 1, 1, 1 )

The color modulation applied to the folder icon.


Custom icon for the parent folder arrow.


Custom icon for the reload button.


Custom icon for the toggle hidden button.