Description
A
Gtk_File_Filter can be used to restrict the files being shown in a
Gtk_File_Chooser. Files can be filtered based on their name (with
Add_Pattern), on their mime type (with
Add_Mime_Type), or by a custom
filter function (with
Add_Custom).
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 Gtk_File_Filter 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 Gtk_File_Chooser, see
Add_Filter, but it is also possible to manually use a filter on a file with
Filter.
Types
-
type File_Filter_Flags is mod 2 ** 8;
-
type File_Filter_Func is access function
(Info : File_Filter_Info) return Gboolean;
-
-
type Gtk_File_Filter is access all Gtk_File_Filter_Record'Class;
-
Subprograms
-
function Get_Filename (Info : File_Filter_Info) return String;
function Get_Uri (Info : File_Filter_Info) return String;
function Get_Display_Name (Info : File_Filter_Info) return String;
function Get_Mime_Type (Info : File_Filter_Info) return String;
-
function Get_Type return GType;
-
procedure Gtk_New (Filter : out Gtk_File_Filter);
procedure Initialize (Filter : access Gtk_File_Filter_Record'Class);
-
procedure Set_Name
(Filter : access Gtk_File_Filter_Record; Name : String);
function Get_Name (Filter : access Gtk_File_Filter_Record) return String;
-
procedure Add_Mime_Type
(Filter : access Gtk_File_Filter_Record;
Mime_Type : String);
-
procedure Add_Pattern
(Filter : access Gtk_File_Filter_Record;
Pattern : String);
-
procedure Add_Pixbuf_Formats
(Filter : access Gtk_File_Filter_Record);
-
procedure Add_Custom
(Filter : access Gtk_File_Filter_Record;
Needed : File_Filter_Flags;
Func : File_Filter_Func;
Data : System.Address := System.Null_Address;
Notify : G_Destroy_Notify_Address := null);