### Class

# Gtk FileFilter

#### Description [src]

    final class Gtk.FileFilter : Gtk.Filter {
      /* No available fields */
    }

`GtkFileFilter` filters files by name or mime type.

`GtkFileFilter` can be used to restrict the files being shown in a `GtkFileChooser`. Files can be filtered based on their name (with gtk_file_filter_add_pattern() or gtk_file_filter_add_suffix()) or on their mime type (with gtk_file_filter_add_mime_type()).

Filtering by mime types handles aliasing and subclassing of mime types; e.g. a filter for text/plain also matches a file with mime type application/rtf, since application/rtf is a subclass of text/plain. Note that `GtkFileFilter` allows wildcards for the subtype of a mime type, so you can e.g. filter for image/*.

Normally, file filters are used by adding them to a `GtkFileChooser` (see gtk_file_chooser_add_filter()), but it is also possible to manually use a file filter on any `GtkFilterListModel` containing `GFileInfo` objects.

# GtkFileFilter as GtkBuildable

The `GtkFileFilter` implementation of the `GtkBuildable` interface supports adding rules using the `<mime-types>` and `<patterns>` and `<suffixes>` elements and listing the rules within. Specifying a `<mime-type>` or `<pattern>` or `<suffix>` has the same effect as as calling gtk_file_filter_add_mime_type() or gtk_file_filter_add_pattern() or gtk_file_filter_add_suffix().

An example of a UI definition fragment specifying `GtkFileFilter` rules: “`xml

“`.

#### Hierarchy

#### Ancestors

- GtkFilter
- GObject

#### Implements

- GtkBuildable

#### Constructors

###### gtk_file_filter_new

Creates a new `GtkFileFilter` with no rules added to it.

###### gtk_file_filter_new_from_gvariant

Deserialize a file filter from a `GVariant`.

#### Instance methods

###### gtk_file_filter_add_mime_type

Adds a rule allowing a given mime type to `filter`.

###### gtk_file_filter_add_pattern

Adds a rule allowing a shell style glob to a filter.

###### gtk_file_filter_add_pixbuf_formats

Adds a rule allowing image files in the formats supported by GdkPixbuf.

###### gtk_file_filter_add_suffix

Adds a suffix match rule to a filter.

###### gtk_file_filter_get_attributes

Gets the attributes that need to be filled in for the `GFileInfo` passed to this filter.

###### gtk_file_filter_get_name

Gets the human-readable name for the filter.

###### gtk_file_filter_set_name

Sets a human-readable name of the filter.

###### gtk_file_filter_to_gvariant

Serialize a file filter to an `a{sv}` variant.

##### Methods inherited from GtkFilter (3)

###### gtk_filter_changed

Notifies all users of the filter that it has changed.

###### gtk_filter_get_strictness

Gets the known strictness of `filters`.

###### gtk_filter_match

Checks if the given `item` is matched by the filter or not.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

#### Properties

###### Gtk.FileFilter:name

The human-readable name of the filter.