GtkRecentFilter

A #GtkRecentFilter can be used to restrict the files being shown in a #GtkRecentChooser. Files can be filtered based on their name (with gtk.recent_filter.RecentFilter.addPattern), on their mime type (with gtk.file_filter.FileFilter.addMimeType), on the application that has registered them (with gtk.recent_filter.RecentFilter.addApplication), or by a custom filter function (with gtk.recent_filter.RecentFilter.addCustom).

Filtering by mime type 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 #GtkRecentFilter 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 #GtkRecentChooser, see gtk.recent_chooser.RecentChooser.addFilter, but it is also possible to manually use a filter on a file with gtk.recent_filter.RecentFilter.filter.

Recently used files are supported since GTK+ 2.10.

GtkRecentFilter as GtkBuildable

The GtkRecentFilter 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>, <pattern> or <application> has the same effect as calling gtk.recent_filter.RecentFilter.addMimeType, gtk.recent_filter.RecentFilter.addPattern or gtk.recent_filter.RecentFilter.addApplication.

An example of a UI definition fragment specifying gtk.recent_filter.RecentFilter rules:

<object class="GtkRecentFilter">
  <mime-types>
    <mime-type>text/plain</mime-type>
    <mime-type>image/png</mime-type>
  </mime-types>
  <patterns>
    <pattern>*.txt</pattern>
    <pattern>*.png</pattern>
  </patterns>
  <applications>
    <application>gimp</application>
    <application>gedit</application>
    <application>glade</application>
  </applications>
</object>
struct GtkRecentFilter