### Interface

# GtkFileChooser

deprecated: 4.10

#### Description [src]

    interface Gtk.FileChooser : GObject.Object

`GtkFileChooser` is an interface that can be implemented by file selection widgets.

In GTK, the main objects that implement this interface are `GtkFileChooserWidget` and `GtkFileChooserDialog`.

You do not need to write an object that implements the `GtkFileChooser` interface unless you are trying to adapt an existing file selector to expose a standard programming interface.

`GtkFileChooser` 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 `GtkFileChooser`, your program can get the selected filenames as `GFile`s.

# Adding options

You can add extra widgets to a file chooser to provide options that are not present in the default design, by using `gtk_file_chooser_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.

Deprecated since: 4.10

Use `GtkFileDialog` instead.

#### Prerequisite

In order to implement FileChooser, your type must inherit from`GObject`.

#### Implementations

- GtkFileChooserDialog
- GtkFileChooserNative
- GtkFileChooserWidget

#### Instance methods

###### gtk_file_chooser_add_choice

Adds a ‘choice’ to the file chooser.

deprecated: 4.10

###### gtk_file_chooser_add_filter

Adds `filter` to the list of filters that the user can select between.

deprecated: 4.10

###### gtk_file_chooser_add_shortcut_folder

Adds a folder to be displayed with the shortcut folders in a file chooser.

deprecated: 4.10

###### gtk_file_chooser_get_action

Gets the type of operation that the file chooser is performing.

deprecated: 4.10

###### gtk_file_chooser_get_choice

Gets the currently selected option in the ‘choice’ with the given ID.

deprecated: 4.10

###### gtk_file_chooser_get_create_folders

Gets whether file chooser will offer to create new folders.

deprecated: 4.10

###### gtk_file_chooser_get_current_folder

Gets the current folder of `chooser` as `GFile`.

deprecated: 4.10

###### gtk_file_chooser_get_current_name

Gets the current name in the file selector, as entered by the user.

deprecated: 4.10

###### gtk_file_chooser_get_file

Gets the `GFile` for the currently selected file in the file selector.

deprecated: 4.10

###### gtk_file_chooser_get_files

Lists all the selected files and subfolders in the current folder of `chooser` as `GFile`.

deprecated: 4.10

###### gtk_file_chooser_get_filter

Gets the current filter.

deprecated: 4.10

###### gtk_file_chooser_get_filters

Gets the current set of user-selectable filters, as a list model.

deprecated: 4.10

###### gtk_file_chooser_get_select_multiple

Gets whether multiple files can be selected in the file chooser.

deprecated: 4.10

###### gtk_file_chooser_get_shortcut_folders

Queries the list of shortcut folders in the file chooser.

deprecated: 4.10

###### gtk_file_chooser_remove_choice

Removes a ‘choice’ that has been added with gtk_file_chooser_add_choice().

deprecated: 4.10

###### gtk_file_chooser_remove_filter

Removes `filter` from the list of filters that the user can select between.

deprecated: 4.10

###### gtk_file_chooser_remove_shortcut_folder

Removes a folder from the shortcut folders in a file chooser.

deprecated: 4.10

###### gtk_file_chooser_set_action

Sets the type of operation that the chooser is performing.

deprecated: 4.10

###### gtk_file_chooser_set_choice

Selects an option in a ‘choice’ that has been added with gtk_file_chooser_add_choice().

deprecated: 4.10

###### gtk_file_chooser_set_create_folders

Sets whether file chooser will offer to create new folders.

deprecated: 4.10

###### gtk_file_chooser_set_current_folder

Sets the current folder for `chooser` from a `GFile`.

deprecated: 4.10

###### gtk_file_chooser_set_current_name

Sets the current name in the file selector, as if entered by the user.

deprecated: 4.10

###### gtk_file_chooser_set_file

Sets `file` as the current filename for the file chooser.

deprecated: 4.10

###### gtk_file_chooser_set_filter

Sets the current filter.

deprecated: 4.10

###### gtk_file_chooser_set_select_multiple

Sets whether multiple files can be selected in the file chooser.

deprecated: 4.10

#### Properties

###### Gtk.FileChooser:action

The type of operation that the file chooser is performing.

deprecated: 4.10

###### Gtk.FileChooser:create-folders

Whether a file chooser not in `GTK_FILE_CHOOSER_ACTION_OPEN` mode will offer the user to create new folders.

deprecated: 4.10

###### Gtk.FileChooser:filter

The current filter for selecting files that are displayed.

deprecated: 4.10

###### Gtk.FileChooser:filters

A `GListModel` containing the filters that have been added with gtk_file_chooser_add_filter().

deprecated: 4.10

###### Gtk.FileChooser:select-multiple

Whether to allow multiple files to be selected.

deprecated: 4.10

###### Gtk.FileChooser:shortcut-folders

A `GListModel` containing the shortcut folders that have been added with gtk_file_chooser_add_shortcut_folder().

deprecated: 4.10