1 /* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 #ifndef __EGG_RECENT_MODEL_H__
3 #define __EGG_RECENT_MODEL_H__
5 #include "egg-recent-item.h"
9 #define EGG_TYPE_RECENT_MODEL (egg_recent_model_get_type ())
10 #define EGG_RECENT_MODEL(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, EGG_TYPE_RECENT_MODEL, EggRecentModel)
11 #define EGG_RECENT_MODEL_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, EGG_TYPE_RECENT_MODEL, EggRecentModelClass)
12 #define EGG_IS_RECENT_MODEL(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, egg_recent_model_get_type ())
14 typedef struct _EggRecentModel EggRecentModel;
15 typedef struct _EggRecentModelPrivate EggRecentModelPrivate;
16 typedef struct _EggRecentModelClass EggRecentModelClass;
18 struct _EggRecentModel {
19 GObject parent_instance;
21 EggRecentModelPrivate *priv;
24 struct _EggRecentModelClass {
25 GObjectClass parent_class;
27 void (*changed) (EggRecentModel *model, GList *list);
31 EGG_RECENT_MODEL_SORT_MRU,
32 EGG_RECENT_MODEL_SORT_LRU,
33 EGG_RECENT_MODEL_SORT_NONE
37 /* Standard group names */
38 #define EGG_RECENT_GROUP_LAUNCHERS "Launchers"
41 GType egg_recent_model_get_type (void);
44 EggRecentModel * egg_recent_model_new (EggRecentModelSort sort);
47 void egg_recent_model_set_filter_mime_types (EggRecentModel *model,
50 void egg_recent_model_set_filter_groups (EggRecentModel *model, ...);
52 void egg_recent_model_set_filter_uri_schemes (EggRecentModel *model,
55 void egg_recent_model_set_sort (EggRecentModel *model,
56 EggRecentModelSort sort);
58 gboolean egg_recent_model_add_full (EggRecentModel *model,
61 gboolean egg_recent_model_add (EggRecentModel *model,
64 gboolean egg_recent_model_delete (EggRecentModel *model,
67 void egg_recent_model_clear (EggRecentModel *model);
69 GList * egg_recent_model_get_list (EggRecentModel *model);
71 void egg_recent_model_changed (EggRecentModel *model);
73 void egg_recent_model_set_limit (EggRecentModel *model, int limit);
74 int egg_recent_model_get_limit (EggRecentModel *model);
76 void egg_recent_model_remove_expired (EggRecentModel *model);
80 #endif /* __EGG_RECENT_MODEL_H__ */