RecentFilter

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>

Constructors

this
this(void* ptr, Flag!"Take" take)
this
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.recent_filter.RecentFilter.addPattern, gtk.recent_filter.RecentFilter.addMimeType, gtk.recent_filter.RecentFilter.addApplication, gtk.recent_filter.RecentFilter.addAge. To create a filter that accepts any recently used resource, use:

Members

Functions

addAge
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.

addApplication
void addApplication(string application)

Adds a rule that allows resources based on the name of the application that has registered them.

addCustom
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 function needs; this allows GTK+ to avoid retrieving expensive information when it isn’t needed by the filter.

addGroup
void addGroup(string group)

Adds a rule that allows resources based on the name of the group to which they belong

addMimeType
void addMimeType(string mimeType)

Adds a rule that allows resources based on their registered MIME type.

addPattern
void addPattern(string pattern)

Adds a rule that allows resources based on a pattern matching their display name.

addPixbufFormats
void addPixbufFormats()

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

filter
bool filter(gtk.recent_filter_info.RecentFilterInfo filterInfo)

Tests whether a file should be displayed according to filter. The #GtkRecentFilterInfo filter_info should include the fields returned from gtk.recent_filter.RecentFilter.getNeeded, and must set the #GtkRecentFilterInfo.contains field of filter_info to indicate which fields have been set.

getName
string getName()

Gets the human-readable name for the filter. See gtk.recent_filter.RecentFilter.setName.

getNeeded
gtk.types.RecentFilterFlags getNeeded()

Gets the fields that need to be filled in for the #GtkRecentFilterInfo passed to gtk.recent_filter.RecentFilter.filter

self
RecentFilter self()

Returns this, for use in with statements.

setName
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.

Properties

_gType
GType _gType [@property getter]

Static functions

_getGType
GType _getGType()
builder
RecentFilterGidBuilder builder()

Get builder for gtk.recent_filter.RecentFilter

Mixed In Members

From mixin BuildableT!()

addChild
void addChild(gtk.builder.Builder builder, gobject.object.ObjectWrap child, string type)

Adds a child to buildable. type is an optional string describing how the child should be added.

constructChild
gobject.object.ObjectWrap constructChild(gtk.builder.Builder builder, string name)

Constructs a child of buildable with the name name.

customFinished
void customFinished(gtk.builder.Builder builder, gobject.object.ObjectWrap child, string tagname, void* data)

This is similar to gtk.buildable.Buildable.parserFinished but is called once for each custom tag handled by the buildable.

customTagStart
bool customTagStart(gtk.builder.Builder builder, gobject.object.ObjectWrap child, string tagname, glib.types.MarkupParser parser, void* data)

This is called for each unknown element under <child>.

getInternalChild
gobject.object.ObjectWrap getInternalChild(gtk.builder.Builder builder, string childname)

Get the internal child called childname of the buildable object.

getName
string getName()

Gets the name of the buildable object.

parserFinished
void parserFinished(gtk.builder.Builder builder)

Called when the builder finishes the parsing of a [GtkBuilder UI definition][BUILDER-UI]. Note that this will be called once for each time gtk.builder.Builder.addFromFile or gtk.builder.Builder.addFromString is called on a builder.

setBuildableProperty
void setBuildableProperty(gtk.builder.Builder builder, string name, gobject.value.Value value)

Sets the property name name to value on the buildable object.

setName
void setName(string name)

Sets the name of the buildable object.

Inherited Members

From InitiallyUnowned

_getGType
GType _getGType()
_gType
GType _gType [@property getter]
self
InitiallyUnowned self()

Returns this, for use in with statements.

builder
InitiallyUnownedGidBuilder builder()

Get builder for gobject.initially_unowned.InitiallyUnowned

From Buildable

_getGType
GType _getGType()
addChild
void addChild(gtk.builder.Builder builder, gobject.object.ObjectWrap child, string type)

Adds a child to buildable. type is an optional string describing how the child should be added.

constructChild
gobject.object.ObjectWrap constructChild(gtk.builder.Builder builder, string name)

Constructs a child of buildable with the name name.

customFinished
void customFinished(gtk.builder.Builder builder, gobject.object.ObjectWrap child, string tagname, void* data)

This is similar to gtk.buildable.Buildable.parserFinished but is called once for each custom tag handled by the buildable.

customTagStart
bool customTagStart(gtk.builder.Builder builder, gobject.object.ObjectWrap child, string tagname, glib.types.MarkupParser parser, void* data)

This is called for each unknown element under <child>.

getInternalChild
gobject.object.ObjectWrap getInternalChild(gtk.builder.Builder builder, string childname)

Get the internal child called childname of the buildable object.

getName
string getName()

Gets the name of the buildable object.

parserFinished
void parserFinished(gtk.builder.Builder builder)

Called when the builder finishes the parsing of a [GtkBuilder UI definition][BUILDER-UI]. Note that this will be called once for each time gtk.builder.Builder.addFromFile or gtk.builder.Builder.addFromString is called on a builder.

setBuildableProperty
void setBuildableProperty(gtk.builder.Builder builder, string name, gobject.value.Value value)

Sets the property name name to value on the buildable object.

setName
void setName(string name)

Sets the name of the buildable object.