| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte | 
|---|---|
| License | LGPL-2.1 | 
| Maintainer | Iñaki García Etxebarria | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
GI.Gtk.Objects.FileFilter
Description
A GtkFileFilter can be used to restrict the files being shown in a
 FileChooser. Files can be filtered based on their name (with
 fileFilterAddPattern), on their mime type (with
 fileFilterAddMimeType), or by a custom filter function
 (with fileFilterAddCustom).
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 FileFilter 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 FileChooser,
 see fileChooserAddFilter, but it is also possible
 to manually use a filter on a file with fileFilterFilter.
GtkFileFilter as GtkBuildable
The GtkFileFilter 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> or <pattern> has the same effect as as calling
 fileFilterAddMimeType or fileFilterAddPattern.
An example of a UI definition fragment specifying GtkFileFilter rules: > >class="GtkFileFilter" > mime-types > mime-typetextplain<mime-type> > mime-typeimage *<mime-type> > /mime-types > patterns > pattern*.txt/pattern > pattern*.png/pattern > /patterns >/object
Synopsis
- newtype FileFilter = FileFilter (ManagedPtr FileFilter)
 - class (GObject o, IsDescendantOf FileFilter o) => IsFileFilter o
 - toFileFilter :: (MonadIO m, IsFileFilter o) => o -> m FileFilter
 - fileFilterAddCustom :: (HasCallStack, MonadIO m, IsFileFilter a) => a -> [FileFilterFlags] -> FileFilterFunc -> m ()
 - fileFilterAddMimeType :: (HasCallStack, MonadIO m, IsFileFilter a) => a -> Text -> m ()
 - fileFilterAddPattern :: (HasCallStack, MonadIO m, IsFileFilter a) => a -> Text -> m ()
 - fileFilterAddPixbufFormats :: (HasCallStack, MonadIO m, IsFileFilter a) => a -> m ()
 - fileFilterFilter :: (HasCallStack, MonadIO m, IsFileFilter a) => a -> FileFilterInfo -> m Bool
 - fileFilterGetName :: (HasCallStack, MonadIO m, IsFileFilter a) => a -> m (Maybe Text)
 - fileFilterGetNeeded :: (HasCallStack, MonadIO m, IsFileFilter a) => a -> m [FileFilterFlags]
 - fileFilterNew :: (HasCallStack, MonadIO m) => m FileFilter
 - fileFilterNewFromGvariant :: (HasCallStack, MonadIO m) => GVariant -> m FileFilter
 - fileFilterSetName :: (HasCallStack, MonadIO m, IsFileFilter a) => a -> Maybe Text -> m ()
 - fileFilterToGvariant :: (HasCallStack, MonadIO m, IsFileFilter a) => a -> m GVariant
 
Exported types
newtype FileFilter Source #
Memory-managed wrapper type.
Constructors
| FileFilter (ManagedPtr FileFilter) | 
Instances
| Eq FileFilter Source # | |
Defined in GI.Gtk.Objects.FileFilter  | |
| IsGValue FileFilter Source # | Convert   | 
Defined in GI.Gtk.Objects.FileFilter  | |
| GObject FileFilter Source # | |
Defined in GI.Gtk.Objects.FileFilter Methods gobjectType :: IO GType #  | |
| HasParentTypes FileFilter Source # | |
Defined in GI.Gtk.Objects.FileFilter  | |
| type ParentTypes FileFilter Source # | |
Defined in GI.Gtk.Objects.FileFilter  | |
class (GObject o, IsDescendantOf FileFilter o) => IsFileFilter o Source #
Type class for types which can be safely cast to FileFilter, for instance with toFileFilter.
Instances
| (GObject o, IsDescendantOf FileFilter o) => IsFileFilter o Source # | |
Defined in GI.Gtk.Objects.FileFilter  | |
toFileFilter :: (MonadIO m, IsFileFilter o) => o -> m FileFilter Source #
Cast to FileFilter, for types for which this is known to be safe. For general casts, use castTo.
Methods
Overloaded methods
addCustom
Arguments
| :: (HasCallStack, MonadIO m, IsFileFilter a) | |
| => a | 
  | 
| -> [FileFilterFlags] | 
  | 
| -> FileFilterFunc | 
  | 
| -> m () | 
Adds rule to a filter that allows files 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.
Since: 2.4
addMimeType
fileFilterAddMimeType Source #
Arguments
| :: (HasCallStack, MonadIO m, IsFileFilter a) | |
| => a | 
  | 
| -> Text | 
  | 
| -> m () | 
Adds a rule allowing a given mime type to filter.
Since: 2.4
addPattern
Arguments
| :: (HasCallStack, MonadIO m, IsFileFilter a) | |
| => a | 
  | 
| -> Text | 
  | 
| -> m () | 
Adds a rule allowing a shell style glob to a filter.
Since: 2.4
addPixbufFormats
fileFilterAddPixbufFormats Source #
Arguments
| :: (HasCallStack, MonadIO m, IsFileFilter a) | |
| => a | 
  | 
| -> m () | 
Adds a rule allowing image files in the formats supported by GdkPixbuf.
Since: 2.6
filter
Arguments
| :: (HasCallStack, MonadIO m, IsFileFilter a) | |
| => a | 
  | 
| -> FileFilterInfo | 
  | 
| -> m Bool | Returns:   | 
Tests whether a file should be displayed according to filter.
 The FileFilterInfo filterInfo should include
 the fields returned from fileFilterGetNeeded.
This function will not typically be used by applications; it
 is intended principally for use in the implementation of
 FileChooser.
Since: 2.4
getName
Arguments
| :: (HasCallStack, MonadIO m, IsFileFilter a) | |
| => a | 
  | 
| -> m (Maybe Text) | Returns: The human-readable name of the filter,
   or   | 
Gets the human-readable name for the filter. See fileFilterSetName.
Since: 2.4
getNeeded
Arguments
| :: (HasCallStack, MonadIO m, IsFileFilter a) | |
| => a | 
  | 
| -> m [FileFilterFlags] | Returns: bitfield of flags indicating needed fields when
   calling   | 
Gets the fields that need to be filled in for the FileFilterInfo
 passed to fileFilterFilter
This function will not typically be used by applications; it
 is intended principally for use in the implementation of
 FileChooser.
Since: 2.4
new
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m FileFilter | Returns: a new   | 
Creates a new FileFilter with no rules added to it.
 Such a filter doesn’t accept any files, so is not
 particularly useful until you add rules with
 fileFilterAddMimeType, fileFilterAddPattern,
 or fileFilterAddCustom. To create a filter
 that accepts any file, use:
C code
GtkFileFilter *filter = gtk_file_filter_new (); gtk_file_filter_add_pattern (filter, "*");
Since: 2.4
newFromGvariant
fileFilterNewFromGvariant Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => GVariant | 
  | 
| -> m FileFilter | Returns: a new   | 
Deserialize a file filter from an a{sv} variant in
 the format produced by fileFilterToGvariant.
Since: 3.22
setName
Arguments
| :: (HasCallStack, MonadIO m, IsFileFilter a) | |
| => a | 
  | 
| -> Maybe Text | 
  | 
| -> m () | 
Sets the human-readable name of the filter; this is the string that will be displayed in the file selector user interface if there is a selectable list of filters.
Since: 2.4
toGvariant
Arguments
| :: (HasCallStack, MonadIO m, IsFileFilter a) | |
| => a | 
  | 
| -> m GVariant | Returns: a new, floating,   | 
Serialize a file filter to an a{sv} variant.
Since: 3.22