gtk.file_filter
Module for [FileFilter] class
Types 3
A 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.FileFilter.addPattern]), on their mime type (with [gtk.file_filter.FileFilter.addMimeType]), or by a custom filter function (with [gtk.file_filter.FileFilter.addCustom]).
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, filters are used by adding them to a #GtkFileChooser, see [gtk.file_chooser.FileChooser.addFilter], but it is also possible to manually use a filter on a file with [gtk.file_filter.FileFilter.filter].
GtkFileFilter as GtkBuildable
The GtkFileFilter implementation of the GtkBuildable interface supports adding rules using the <mime-types>, <patterns> and <applications> elements and listing the rules within. Specifying a <mime-type> or <pattern> has the same effect as as calling [gtk.file_filter.FileFilter.addMimeType] or [gtk.file_filter.FileFilter.addPattern].
An example of a UI definition fragment specifying GtkFileFilter rules:
<object class="GtkFileFilter">
<mime-types>
<mime-type>text/plain</mime-type>
<mime-type>image/ *</mime-type>
</mime-types>
<patterns>
<pattern>*.txt</pattern>
<pattern>*.png</pattern>
</patterns>
</object>FileFilter self()Returns `this`, for use in `with` statements.FileFilterGidBuilder builder()Get builder for [gtk.file_filter.FileFilter] Returns: New builder objectgtk.file_filter.FileFilter newFromGvariant(glib.variant.Variant variant)Deserialize a file filter from an a{sv} variant in the format produced by [gtk.file_filter.FileFilter.toGvariant].void addCustom(gtk.types.FileFilterFlags needed, gtk.types.FileFilterFunc func)Adds rule to a filter that allows files based on a custom callback function. The bitfield needed which is passed in provides information about what sorts of information that the filter function nee...void addMimeType(string mimeType)Adds a rule allowing a given mime type to filter.void addPattern(string pattern)Adds a rule allowing a shell style glob to a filter.void addPixbufFormats()Adds a rule allowing image files in the formats supported by GdkPixbuf.bool filter(gtk.file_filter_info.FileFilterInfo filterInfo)Tests whether a file should be displayed according to filter. The #GtkFileFilterInfo filterinfo should include the fields returned from [gtk.filefilter.FileFilter.getNeeded].string getName()Gets the human-readable name for the filter. See [gtk.file_filter.FileFilter.setName]. Returns: The human-readable name of the filter, or null. This value is owned by GTK+ and must not be modified ...gtk.types.FileFilterFlags getNeeded()Gets the fields that need to be filled in for the #GtkFileFilterInfo passed to [gtk.file_filter.FileFilter.filter]void setName(string name = null)Sets the human-readable name of the filter; this is the string that will be displayed in the file selector user interface if there is a selectable list of filters.glib.variant.Variant toGvariant()Serialize a file filter to an a{sv} variant. Returns: a new, floating, #GVariantFluent builder for [gtk.file_filter.FileFilter]