Graphics.UI.Gtk.Recent.RecentManager

gtk3-0.14.2: Binding to the Gtk+ 3 graphical user interface library

Maintainer | gtk2hs-users@lists.sourceforge.net
Stability | provisional
Portability | portable (depends on GHC)
Safe Haskell | None
Language | Haskell98

Graphics.UI.Gtk.Recent.RecentManager

Contents

- Detail
- Class Hierarchy
- Types
- Constructors
- Methods
- Attributes
- Signals

Description

Managing Recently Used Files

- Module available since Gtk+ version 2.10

TODO: GtkRecentData gtk_recent_manager_add_full

Synopsis

- data RecentManager
- class GObjectClass o => RecentManagerClass o
- castToRecentManager :: GObjectClass obj => obj -> RecentManager
- toRecentManager :: RecentManagerClass o => o -> RecentManager
- recentManagerNew :: IO RecentManager
- recentManagerGetDefault :: IO RecentManager
- recentManagerAddItem :: (RecentManagerClass self, GlibString string) => self -> string -> IO Bool
- recentManagerRemoveItem :: (RecentManagerClass self, GlibString string) => self -> string -> IO Bool
- recentManagerLookupItem :: (RecentManagerClass self, GlibString string) => self -> string -> IO RecentInfo
- recentManagerHasItem :: (RecentManagerClass self, GlibString string) => self -> string -> IO Bool
- recentManagerMoveItem :: (RecentManagerClass self, GlibString string) => self -> string -> string -> IO Bool
- recentManagerGetItems :: RecentManagerClass self => self -> IO [RecentInfo]
- recentManagerPurgeItems :: RecentManagerClass self => self -> IO Int
- recentManagerFilename :: (RecentManagerClass self, GlibString string) => ReadAttr self string
- recentManagerLimit :: RecentManagerClass self => Attr self Int
- recentManagerSize :: RecentManagerClass self => ReadAttr self Int
- recentManagerChanged :: RecentManagerClass self => Signal self (IO ())

# Detail

`RecentManager` provides a facility for adding, removing and looking up recently used files. Each recently used file is identified by its URI, and has meta-data associated to it, like the names and command lines of the applications that have registered it, the number of time each application has registered the same file, the mime type of the file and whether the file should be displayed only by the applications that have registered it.

The `RecentManager` acts like a database of all the recently used files. You can create new `RecentManager` objects, but it is more efficient to use the standard recent manager for the `Screen` so that informations about the recently used files is shared with other people using them. In case the default screen is being used, adding a new recently used file is as simple as:

Recently used files are supported since Gtk+ 2.10.

# Class Hierarchy

    | GObject
    | +----RecentManager

# Types

data RecentManager

Instances

Eq RecentManager |
Ord RecentManager |
GObjectClass RecentManager |
RecentManagerClass RecentManager |

class GObjectClass o => RecentManagerClass o

Instances

RecentManagerClass RecentManager |

castToRecentManager :: GObjectClass obj => obj -> RecentManager

toRecentManager :: RecentManagerClass o => o -> RecentManager

# Constructors

recentManagerNew :: IO RecentManager

Creates a new recent manager object. Recent manager objects are used to handle the list of recently used resources. A `RecentManager` object monitors the recently used resources list, and emits the "changed" signal each time something inside the list changes.

- Available since Gtk+ version 2.10

# Methods

recentManagerGetDefault

Arguments

:: IO RecentManager | returns A unique `RecentManager`.

Gets a unique instance of `RecentManager`.

- Available since Gtk+ version 2.10

recentManagerAddItem

Arguments

:: (RecentManagerClass self, GlibString string) |
=> self |
-> string | `uri` - a valid URI
-> IO Bool | returns `True` if the new item was successfully added to the recently used resources list

Adds a new resource, pointed by `uri`, into the recently used resources list.

This function automatically retrieves some of the needed metadata and setting other metadata to common default values; it then feeds the data to `recentManagerAddFull`.

See `recentManagerAddFull` if you want to explicitly define the metadata for the resource pointed by `uri`.

- Available since Gtk+ version 2.10

recentManagerRemoveItem

Arguments

:: (RecentManagerClass self, GlibString string) |
=> self |
-> string | `uri` - the URI of the item you wish to remove
-> IO Bool | returns `True` if the item pointed by `uri` has been successfully removed by the recently used resources list, and `False` otherwise.

Removes a resource pointed by `uri` from the recently used resources list handled by a recent manager.

- Available since Gtk+ version 2.10

recentManagerLookupItem

Arguments

:: (RecentManagerClass self, GlibString string) |
=> self |
-> string | `uri` - a URI
-> IO RecentInfo | returns a `RecentInfo` structure containing information about the resource pointed by `uri`, or {`NULL`, FIXME: this should probably be converted to a Maybe data type} if the URI was not registered in the recently used resources list.

Searches for a URI inside the recently used resources list, and returns a structure containing informations about the resource like its MIME type, or its display name.

- Available since Gtk+ version 2.10

recentManagerHasItem

Arguments

:: (RecentManagerClass self, GlibString string) |
=> self |
-> string | `uri` - a URI
-> IO Bool | returns `True` if the resource was found, `False` otherwise.

Checks whether there is a recently used resource registered with `uri` inside the recent manager.

- Available since Gtk+ version 2.10

recentManagerMoveItem

Arguments

:: (RecentManagerClass self, GlibString string) |
=> self |
-> string | `uri` - the URI of a recently used resource
-> string | `newUri` - the new URI of the recently used resource to remove the item pointed by `uri` in the list
-> IO Bool | returns `True` on success.

Changes the location of a recently used resource from `uri` to `newUri`.

Please note that this function will not affect the resource pointed by the URIs, but only the URI used in the recently used resources list.

- Available since Gtk+ version 2.10

recentManagerGetItems

Arguments

:: RecentManagerClass self |
=> self |
-> IO [RecentInfo] | returns a list of newly allocated `RecentInfo` objects.

Gets the list of recently used resources.

- Available since Gtk+ version 2.10

recentManagerPurgeItems

Arguments

:: RecentManagerClass self |
=> self |
-> IO Int | returns the number of items that have been removed from the recently used resources list.

Purges every item from the recently used resources list.

- Available since Gtk+ version 2.10

# Attributes

recentManagerFilename :: (RecentManagerClass self, GlibString string) => ReadAttr self string

The full path to the file to be used to store and read the recently used resources list

Default value: `Nothing`

- Available since Gtk+ version 2.10

recentManagerLimit :: RecentManagerClass self => Attr self Int

The maximum number of items to be returned by the `recentManagerGetItems` function.

Allowed values: >= `GMaxulong`

Default value: -1

- Available since Gtk+ version 2.10

recentManagerSize :: RecentManagerClass self => ReadAttr self Int

The size of the recently used resources list.

Allowed values: >= `GMaxulong`

Default value: 0

- Available since Gtk+ version 2.10

# Signals

recentManagerChanged :: RecentManagerClass self => Signal self (IO ())

Emitted when the current recently used resources manager changes its contents.

- Available since Gtk+ version 2.10