( type_id = "gtk_file_chooser_get_type ()"
) ]public interface FileChooser
FileChooser is an interface that can be implemented by file selection widgets.
In GTK, the main objects that implement this interface are FileChooserWidget and
FileChooserDialog. You do not need to write an object that implements the
FileChooser interface unless you are trying to adapt an existing file selector to expose a standard programming
FileChooser allows for shortcuts to various places in the filesystem. In the default implementation these are
displayed in the left pane. It may be a bit confusing at first that these shortcuts come from various sources and in various flavours, so lets
explain the terminology here:
- Bookmarks: are created by the user, by dragging folders from the right pane to the left pane, or by using the “Add”. Bookmarks can be
renamed and deleted by the user.
- Shortcuts: can be provided by the application. For example, a Paint program may want to add a shortcut for a Clipart folder. Shortcuts
cannot be modified by the user.
- Volumes: are provided by the underlying filesystem abstraction. They are the “roots” of the filesystem.
File Names and Encodings
When the user is finished selecting files in a FileChooser, your program can get the selected filenames as
You can add extra widgets to a file chooser to provide options that are not present in the default design, by using
add_choice. Each choice has an identifier and a user visible label;
additionally, each choice can have multiple options. If a choice has no option, it will be rendered as a check button with the given label; if a
choice has options, it will be rendered as a combo box.
All known implementing classes:
- public void add_choice (string id, string label, string? options, string? option_labels)
Adds a 'choice' to the file chooser.
- public void add_filter (FileFilter filter)
filter to the list of filters that the user can select
- public bool add_shortcut_folder (File folder) throws Error
Adds a folder to be displayed with the shortcut folders in a file chooser.
- public FileChooserAction get_action ()
Gets the type of operation that the file chooser is performing; see
- public unowned string get_choice (string id)
Gets the currently selected option in the 'choice' with the given ID.
- public bool get_create_folders ()
Gets whether file chooser will offer to create new folders.
- public File get_current_folder ()
Gets the current folder of this as
- public string get_current_name ()
Gets the current name in the file selector, as entered by the user in the
text entry for “Name”.
- public File get_file ()
Gets the File for
the currently selected file in the file selector.
- public ListModel get_files ()
Lists all the selected files and subfolders in the current folder of
this as File.
- public unowned FileFilter? get_filter ()
- public ListModel get_filters ()
- public bool get_select_multiple ()
Gets whether multiple files can be selected in the file selector.
- public ListModel get_shortcut_folders ()
- public void remove_choice (string id)
Removes a 'choice' that has been added with
- public void remove_filter (FileFilter filter)
filter from the list of filters that the user can
- public bool remove_shortcut_folder (File folder) throws Error
Removes a folder from the shortcut folders in a file chooser.
- public void set_action (FileChooserAction action)
Sets the type of operation that the chooser is performing; the user
interface is adapted to suit the selected action.
- public void set_choice (string id, string option)
Selects an option in a 'choice' that has been added with
- public void set_create_folders (bool create_folders)
Sets whether file chooser will offer to create new folders.
- public bool set_current_folder (File file) throws Error
Sets the current folder for this from a
- public void set_current_name (string name)
Sets the current name in the file selector, as if entered by the user.
- public bool set_file (File file) throws Error
file as the current filename for the file chooser, by
changing to the file’s parent folder and actually selecting the file in list.
- public void set_filter (FileFilter filter)
Sets the current filter; only the files that pass the filter will be
- public void set_select_multiple (bool select_multiple)
Sets whether multiple files can be selected in the file selector.
All known members inherited from class GLib.Object