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 gtk.file_filter.FileFilter allows wildcards for the
subtype of a mime type, so you can e.g. filter for image/\*.
<objectclass="GtkFileFilter"><propertyname="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>
gtk.file_filter.FileFilter filters files by name or mime type.
gtk.file_filter.FileFilter can be used to restrict the files being shown in a gtk.file_chooser.FileChooser. Files can be filtered based on their name (with gtk.file_filter.FileFilter.addPattern or gtk.file_filter.FileFilter.addSuffix) or on their mime type (with gtk.file_filter.FileFilter.addMimeType).
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 gtk.file_filter.FileFilter 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 gtk.file_chooser.FileChooser (see gtk.file_chooser.FileChooser.addFilter), but it is also possible to manually use a file filter on any gtk.filter_list_model.FilterListModel containing gio.file_info.FileInfo objects.
GtkFileFilter as GtkBuildable
The gtk.file_filter.FileFilter implementation of the gtk.buildable.Buildable 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.FileFilter.addMimeType or gtk.file_filter.FileFilter.addPattern or gtk.file_filter.FileFilter.addSuffix.
An example of a UI definition fragment specifying gtk.file_filter.FileFilter rules: