class Gtk::RecentManager
- Gtk::RecentManager
- GObject::Object
- Reference
- Object
Overview
Gtk::RecentManager
manages and looks 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 recently used files list is per user.
Gtk::RecentManager
acts like a database of all the recently
used files. You can create new Gtk::RecentManager
objects, but
it is more efficient to use the default manager created by GTK.
Adding a new recently used file is as simple as:
WARNING ⚠️ The following code is in c ⚠️
Gtk::RecentManager *manager;
manager = gtk_recent_manager_get_default ();
gtk_recent_manager_add_item (manager, file_uri);
The Gtk::RecentManager
will try to gather all the needed information
from the file itself through GIO.
Looking up the meta-data associated with a recently used file
given its URI requires calling Gtk::RecentManager#lookup_item
:
WARNING ⚠️ The following code is in c ⚠️
Gtk::RecentManager *manager;
Gtk::RecentInfo *info;
GError *error = NULL;
manager = gtk_recent_manager_get_default ();
info = gtk_recent_manager_lookup_item (manager, file_uri, &error);
if (error)
{
g_warning ("Could not find the file: %s", error->message);
g_error_free (error);
}
else
{
// Use the info object
gtk_recent_info_unref (info);
}
In order to retrieve the list of recently used files, you can use
Gtk::RecentManager#items
, which returns a list of
Gtk::RecentInfo
.
Note that the maximum age of the recently used files list is controllable through the [property@Gtk.Settings:gtk-recent-files-max-age] property.
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/recent_manager.crConstructors
-
.new : self
Creates a new recent manager object.
- .new(*, filename : String? = nil, size : Int32? = nil)
Class Method Summary
-
.default : Gtk::RecentManager
Gets a unique instance of
Gtk::RecentManager
that you can share in your application without caring about memory management. -
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#add_full(uri : String, recent_data : Gtk::RecentData) : Bool
Adds a new resource, pointed by @uri, into the recently used resources list, using the metadata specified inside the
Gtk::RecentData
passed in @recent_data. -
#add_item(uri : String) : Bool
Adds a new resource, pointed by @uri, into the recently used resources list.
- #changed_signal
- #filename : String
- #filename=(value : String) : String
-
#has_item(uri : String) : Bool
Checks whether there is a recently used resource registered with @uri inside the recent manager.
-
#items : GLib::List
Gets the list of recently used resources.
-
#lookup_item(uri : String) : Gtk::RecentInfo?
Searches for a URI inside the recently used resources list, and returns a
Gtk::RecentInfo
containing information about the resource like its MIME type, or its display name. -
#move_item(uri : String, new_uri : String?) : Bool
Changes the location of a recently used resource from @uri to @new_uri.
-
#purge_items : Int32
Purges every item from the recently used resources list.
-
#remove_item(uri : String) : Bool
Removes a resource pointed by @uri from the recently used resources list handled by a recent manager.
- #size : Int32
Instance methods inherited from class GObject::Object
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
cast?(obj : GObject::Object) : self?
cast?,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
compat_control(what : UInt64, data : Pointer(Void)?) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Constructor Detail
Creates a new recent manager object.
Recent manager objects are used to handle the list of recently used
resources. A Gtk::RecentManager
object monitors the recently used
resources list, and emits the Gtk::RecentManager::#changed
signal each time something inside the list changes.
Gtk::RecentManager
objects are expensive: be sure to create them
only when needed. You should use Gtk::RecentManager#default
instead.
Class Method Detail
Gets a unique instance of Gtk::RecentManager
that you can share
in your application without caring about memory management.
Instance Method Detail
Adds a new resource, pointed by @uri, into the recently used
resources list, using the metadata specified inside the
Gtk::RecentData
passed in @recent_data.
The passed URI will be used to identify this resource inside the list.
In order to register the new recently used resource, metadata about
the resource must be passed as well as the URI; the metadata is
stored in a Gtk::RecentData
, which must contain the MIME
type of the resource pointed by the URI; the name of the application
that is registering the item, and a command line to be used when
launching the item.
Optionally, a Gtk::RecentData
might contain a UTF-8 string
to be used when viewing the item instead of the last component of
the URI; a short description of the item; whether the item should
be considered private - that is, should be displayed only by the
applications that have registered it.
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 Gtk::RecentManager#add_full
.
See Gtk::RecentManager#add_full
if you want to explicitly
define the metadata for the resource pointed by @uri.
Checks whether there is a recently used resource registered with @uri inside the recent manager.
Searches for a URI inside the recently used resources list, and
returns a Gtk::RecentInfo
containing information about the resource
like its MIME type, or its display name.
Changes the location of a recently used resource from @uri to @new_uri.
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.
Removes a resource pointed by @uri from the recently used resources list handled by a recent manager.