Class

Gtk.FileFilter

Description [src]

final class Gtk.FileFilter : Gtk.Filter {
  /* No available fields */
}

GtkFileFilter filters files by name or mime type.

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_add_pattern()) or on their mime type (with gtk_file_filter_add_mime_type()).

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, file filters are used by adding them to a GtkFileChooser (see gtk_file_chooser_add_filter()), but it is also possible to manually use a file filter on any GtkFilterListModel containing GFileInfo objects.

GtkFileFilter as GtkBuildable

The GtkFileFilter implementation of the GtkBuildable interface supports adding rules using the and elements and listing the rules within. Specifying a or has the same effect as as calling gtk_file_filter_add_mime_type() or gtk_file_filter_add_pattern().

An example of a UI definition fragment specifying GtkFileFilter 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>
    <pattern>*.png</pattern>
  </patterns>
</object>

Hierarchy

Hierarchy for Gtk.FileFilter

Ancestors

Implements

Constructors

gtk_file_filter_new

Creates a new GtkFileFilter with no rules added to it.

gtk_file_filter_new_from_gvariant

Deserialize a file filter from a GVariant.

Instance methods

gtk_file_filter_add_mime_type

Adds a rule allowing a given mime type to filter.

gtk_file_filter_add_pattern

Adds a rule allowing a shell style glob to a filter.

gtk_file_filter_add_pixbuf_formats

Adds a rule allowing image files in the formats supported by GdkPixbuf.

gtk_file_filter_get_attributes

Gets the attributes that need to be filled in for the GFileInfo passed to this filter.

gtk_file_filter_get_name

Gets the human-readable name for the filter.

gtk_file_filter_set_name

Sets a human-readable name of the filter.

gtk_file_filter_to_gvariant

Serialize a file filter to an a{sv} variant.

Methods inherited from GtkFilter (3)
gtk_filter_changed

Emits the GtkFilter::changed signal to notify all users of the filter that the filter changed. Users of the filter should then check items again via gtk_filter_match().

gtk_filter_get_strictness

Gets the known strictness of filters. If the strictness is not known, GTK_FILTER_MATCH_SOME is returned.

gtk_filter_match

Checks if the given item is matched by the filter or not.

Methods inherited from GtkBuildable (1)
gtk_buildable_get_buildable_id

Gets the ID of the buildable object.

Properties

Gtk.FileFilter:name

The human-readable name of the filter.