gtk.recent_filter

Module for [RecentFilter] class

Types 3

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>

Methods
GType _gType() @property
RecentFilter self()Returns `this`, for use in `with` statements.
RecentFilterGidBuilder builder()Get builder for [gtk.recent_filter.RecentFilter] Returns: New builder object
void addAge(int days)Adds a rule that allows resources based on their age - that is, the number of days elapsed since they were last modified.
void addApplication(string application)Adds a rule that allows resources based on the name of the application that has registered them.
void addCustom(gtk.types.RecentFilterFlags needed, gtk.types.RecentFilterFunc func)Adds a rule to a filter that allows resources based on a custom callback function. The bitfield needed which is passed in provides information about what sorts of information that the filter functi...
void addGroup(string group)Adds a rule that allows resources based on the name of the group to which they belong
void addMimeType(string mimeType)Adds a rule that allows resources based on their registered MIME type.
void addPattern(string pattern)Adds a rule that allows resources based on a pattern matching their display name.
void addPixbufFormats()Adds a rule allowing image files in the formats supported by GdkPixbuf.
bool filter(gtk.recent_filter_info.RecentFilterInfo filterInfo)Tests whether a file should be displayed according to filter. The #GtkRecentFilterInfo filterinfo should include the fields returned from [gtk.recentfilter.RecentFilter.getNeeded], and must set the...
string getName()Gets the human-readable name for the filter. See [gtk.recent_filter.RecentFilter.setName]. Returns: the name of the filter, or null. The returned string is owned by the filter object and should no...
gtk.types.RecentFilterFlags getNeeded()Gets the fields that need to be filled in for the #GtkRecentFilterInfo passed to [gtk.recent_filter.RecentFilter.filter]
void setName(string name)Sets the human-readable name of the filter; this is the string that will be displayed in the recently used resources selector user interface if there is a selectable list of filters.
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new #GtkRecentFilter with no rules added to it. Such filter does not accept any recently used resources, so is not particularly useful until you add rules with [gtk.recentfilter.RecentFil...

Fluent builder for [gtk.recent_filter.RecentFilter]