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.

Fluent builder implementation template for gtk.file_filter.FileFilter

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
FileFilter build()Create object from builder. Returns: New object