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>

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
gtk.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, #GVariant
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new #GtkFileFilter with no rules added to it. Such a filter doesn’t accept any files, so is not particularly useful until you add rules with [gtk.filefilter.FileFilter.addMimeType], [gt...

Fluent builder for [gtk.file_filter.FileFilter]

Methods