gtk.file_filter

Module for [FileFilter] class

Types 3

[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:

<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>

Methods
GType _gType() @property
FileFilter self()Returns `this`, for use in `with` statements.
FileFilterGidBuilder builder()Get builder for [gtk.file_filter.FileFilter] Returns: New builder object
string name() @propertyGet `name` property. Returns: The human-readable name of the filter.
void name(string propval) @propertySet `name` property. Params: propval = The human-readable name of the filter.
gtk.file_filter.FileFilter newFromGvariant(glib.variant.Variant variant)Deserialize a file filter from a [glib.variant.Variant].
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.
void addSuffix(string suffix)Adds a suffix match rule to a filter.
string[] getAttributes()Gets the attributes that need to be filled in for the [gio.file_info.FileInfo] passed to this filter.
string getName()Gets the human-readable name for the filter.
void setName(string name = null)Sets a human-readable name of the filter.
glib.variant.Variant toGvariant()Serialize a file filter to an `a{sv}` variant. Returns: a new, floating, [glib.variant.Variant]
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new [gtk.file_filter.FileFilter] with no rules added to it.
Methods
T name(string propval)Set `name` property. Params: propval = The human-readable name of the filter.

Fluent builder for [gtk.file_filter.FileFilter]

Methods