FileFilter


Object Hierarchy:

Gtk.FileFilter Gtk.FileFilter Gtk.FileFilter Gtk.Filter Gtk.Filter Gtk.Filter->Gtk.FileFilter GLib.Object GLib.Object GLib.Object->Gtk.Filter Gtk.Buildable Gtk.Buildable Gtk.Buildable->Gtk.FileFilter

Description:

[ CCode ( type_id = "gtk_file_filter_get_type ()" ) ]
public sealed class FileFilter : Filter, Buildable

`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 [ method@Gtk.FileFilter.add_pattern] or [method@Gtk.FileFilter.add_suffix]) or on their mime type (with [method@Gtk.FileFilter.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 [method@Gtk.FileChooser.add_filter]), but it is also possible to manually use a file filter on any [class@Gtk.FilterListModel] 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 [method@Gtk.FileFilter.add_mime_type] or [method@Gtk.FileFilter.add_pattern] or [method@Gtk.FileFilter.add_suffix].

An example of a UI definition fragment specifying `GtkFileFilter` rules: ```xml <object class="GtkFileFilter"> <property name="name" translatable="yes">Text and Images</property> <mime-types> <mime-type>text/plain</mime-type> <mime-type> image/ *</mime-type> </mime-types> <patterns> <pattern>*.txt</pattern> </patterns> <suffixes> <suffix>png</suffix> </suffixes> </object> ```


Namespace: Gtk
Package: gtk4

Content:

Properties:

Creation methods:

Methods:

Inherited Members:

All known members inherited from class Gtk.Filter