[gedit] open-document-selector: remove the interface.
- From: Sebastien Lafargue <slafargue src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] open-document-selector: remove the interface.
- Date: Sun, 20 Jul 2014 17:52:36 +0000 (UTC)
commit 79f5a09dfdee547e99336d49100c3e98c1d5830e
Author: Sebastien Lafargue <slafargue gnome org>
Date: Sun Jul 20 19:33:05 2014 +0200
open-document-selector: remove the interface.
Due to the functionalities used, we don't need GtkRecentChooser
interface anymore.
gedit/gedit-open-document-selector.c | 535 ++++------------------------------
gedit/gedit-open-document-selector.h | 7 -
2 files changed, 60 insertions(+), 482 deletions(-)
---
diff --git a/gedit/gedit-open-document-selector.c b/gedit/gedit-open-document-selector.c
index 4535b37..057d977 100644
--- a/gedit/gedit-open-document-selector.c
+++ b/gedit/gedit-open-document-selector.c
@@ -40,44 +40,17 @@ struct _GeditOpenDocumentSelectorPrivate
GtkWidget *listbox;
GtkWidget *scrolled_window;
- GtkRecentSortType sort_type;
- GtkRecentSortFunc sort_func;
- gpointer sort_data;
- GDestroyNotify sort_data_destroy;
-
- GtkRecentFilter *current_filter;
GtkRecentFilter *gedit_app_filter;
gchar *substring_filter;
guint populate_listbox_id;
gulong recent_manager_changed_id;
- /* RecentChooser properties */
guint show_private : 1;
guint show_not_found : 1;
- guint show_tips : 1;
- guint show_icons : 1;
guint local_only : 1;
};
-static void gtk_recent_chooser_iface_init (GtkRecentChooserIface *iface);
-
-/* Properties, gtkrecentchooserutils.h defines PROP_FIRST at this value */
-enum {
- GTK_RECENT_CHOOSER_PROP_FIRST = 0x3000,
- GTK_RECENT_CHOOSER_PROP_RECENT_MANAGER,
- GTK_RECENT_CHOOSER_PROP_SHOW_PRIVATE,
- GTK_RECENT_CHOOSER_PROP_SHOW_NOT_FOUND,
- GTK_RECENT_CHOOSER_PROP_SHOW_TIPS,
- GTK_RECENT_CHOOSER_PROP_SHOW_ICONS,
- GTK_RECENT_CHOOSER_PROP_SELECT_MULTIPLE,
- GTK_RECENT_CHOOSER_PROP_LIMIT,
- GTK_RECENT_CHOOSER_PROP_LOCAL_ONLY,
- GTK_RECENT_CHOOSER_PROP_SORT_TYPE,
- GTK_RECENT_CHOOSER_PROP_FILTER,
- GTK_RECENT_CHOOSER_PROP_LAST
-};
-
/* Signals */
enum
{
@@ -90,12 +63,7 @@ enum
static guint signals[LAST_SIGNAL] = { 0 };
-G_DEFINE_TYPE_WITH_CODE (GeditOpenDocumentSelector,
- gedit_open_document_selector,
- GTK_TYPE_BOX,
- G_ADD_PRIVATE (GeditOpenDocumentSelector)
- G_IMPLEMENT_INTERFACE (GTK_TYPE_RECENT_CHOOSER,
- gtk_recent_chooser_iface_init))
+G_DEFINE_TYPE_WITH_PRIVATE (GeditOpenDocumentSelector, gedit_open_document_selector, GTK_TYPE_BOX)
static GtkWidget *
create_row (GeditOpenDocumentSelector *open_document_selector,
@@ -165,85 +133,6 @@ dispose_row (GeditOpenDocumentSelector *open_document_selector,
g_free (uri);
}
-static gboolean
-real_populate_listbox (gpointer data)
-{
- GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (data);
- GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
- GtkWidget *row = NULL;
- GtkRecentInfo *info;
- GList *children, *l, *items;
-
- g_assert (priv->manager != NULL);
-
- /* Clear the listbox */
- children = gtk_container_get_children (GTK_CONTAINER (priv->listbox));
-
- for (l = children; l != NULL; l = l->next)
- {
- row = l->data;
- dispose_row (open_document_selector, row);
- }
-
- g_list_free (children);
-
- items = gtk_recent_chooser_get_items (GTK_RECENT_CHOOSER (open_document_selector));
-
- for (l = items; l != NULL; l = l->next)
- {
- info = l->data;
- row = create_row (open_document_selector, info);
- gtk_recent_info_unref(info);
-
- gtk_list_box_insert (GTK_LIST_BOX (priv->listbox), row, -1);
- }
-
- g_list_free (items);
- priv->populate_listbox_id = 0;
-
- return FALSE;
-}
-
-static void
-populate_listbox (GeditOpenDocumentSelector *open_document_selector)
-{
- GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
-
- if (priv->populate_listbox_id)
- {
- return;
- }
-
- priv->populate_listbox_id = gdk_threads_add_idle_full (G_PRIORITY_HIGH_IDLE + 30,
- real_populate_listbox,
- open_document_selector,
- NULL);
-}
-
-static void
-on_entry_changed (GtkEntry *entry,
- GeditOpenDocumentSelector *open_document_selector)
-{
- GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
- const gchar *entry_text;
-
- entry_text = gtk_entry_get_text (entry);
-
- g_free (priv->substring_filter);
- priv->substring_filter = g_utf8_strdown (entry_text, -1);
-
- populate_listbox (open_document_selector);
-}
-
-static GtkRecentManager *
-gedit_open_document_selector_get_recent_manager (GtkRecentChooser *chooser)
-{
- GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (chooser);
- GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
-
- return priv->manager;
-}
-
static gint
sort_recent_items_mru (GtkRecentInfo *a,
GtkRecentInfo *b,
@@ -254,35 +143,6 @@ sort_recent_items_mru (GtkRecentInfo *a,
return gtk_recent_info_get_modified (b) - gtk_recent_info_get_modified (a);
}
-static void
-gedit_open_document_selector_set_sort_func (GtkRecentChooser *chooser,
- GtkRecentSortFunc sort_func,
- gpointer sort_data,
- GDestroyNotify data_destroy)
-{
- GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (chooser);
- GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
-
- if (priv->sort_data_destroy)
- {
- priv->sort_data_destroy (priv->sort_data);
- priv->sort_data_destroy = NULL;
- }
-
- if (sort_func)
- {
- priv->sort_func = sort_func;
- priv->sort_data = sort_data;
- priv->sort_data_destroy = data_destroy;
- }
- else
- {
- priv->sort_func = NULL;
- priv->sort_data = NULL;
- priv->sort_data_destroy = NULL;
- }
-}
-
static gboolean
get_is_recent_filtered (GtkRecentFilter *filter,
GtkRecentInfo *info)
@@ -357,43 +217,27 @@ get_is_recent_filtered (GtkRecentFilter *filter,
}
static GList *
-gedit_open_document_selector_get_items (GtkRecentChooser *chooser)
+gedit_open_document_selector_get_items (GeditOpenDocumentSelector *open_document_selector)
{
- GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (chooser);
GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
- GtkRecentManager *manager;
- GtkRecentSortType sort_type;
GList *items;
GList *filter_items = NULL, *l;
- GCompareDataFunc compare_func;
gint limit;
gint length;
- gboolean local_only = FALSE;
- gboolean show_private = FALSE;
- gboolean show_not_found = FALSE;
-
- g_return_val_if_fail (GTK_IS_RECENT_CHOOSER (chooser), NULL);
- manager = gedit_open_document_selector_get_recent_manager (chooser);
-
- items = gtk_recent_manager_get_items (manager);
+ items = gtk_recent_manager_get_items (priv->manager);
if (!items)
{
return NULL;
}
- limit = gtk_recent_chooser_get_limit (chooser);
+ limit = priv->limit;
+
if (limit == 0)
{
return NULL;
}
- g_object_get (G_OBJECT (chooser),
- "local-only", &local_only,
- "show-private", &show_private,
- "show-not-found", &show_not_found,
- NULL);
-
for (l = items; l != NULL; l = l->next)
{
GtkRecentInfo *info = l->data;
@@ -417,15 +261,15 @@ gedit_open_document_selector_get_items (GtkRecentChooser *chooser)
{
remove_item = TRUE;
}
- else if (local_only && !gtk_recent_info_is_local (info))
+ else if (priv->local_only && !gtk_recent_info_is_local (info))
{
remove_item = TRUE;
}
- else if (!show_private && gtk_recent_info_get_private_hint (info))
+ else if (!priv->show_private && gtk_recent_info_get_private_hint (info))
{
remove_item = TRUE;
}
- else if (!show_not_found && !gtk_recent_info_exists (info))
+ else if (!priv->show_not_found && !gtk_recent_info_exists (info))
{
remove_item = TRUE;
}
@@ -448,29 +292,7 @@ gedit_open_document_selector_get_items (GtkRecentChooser *chooser)
return NULL;
}
- sort_type = gtk_recent_chooser_get_sort_type (chooser);
- switch (sort_type)
- {
- case GTK_RECENT_SORT_NONE:
- compare_func = NULL;
- break;
- case GTK_RECENT_SORT_MRU:
- compare_func = (GCompareDataFunc) sort_recent_items_mru;
- break;
- default:
- g_assert_not_reached ();
- break;
- }
-
- if (compare_func)
- {
- SortRecentData sort_recent;
-
- sort_recent.func = priv->sort_func;
- sort_recent.data = priv->sort_data;
-
- items = g_list_sort_with_data (items, compare_func, &sort_recent);
- }
+ items = g_list_sort_with_data (items, (GCompareDataFunc) sort_recent_items_mru, NULL);
length = g_list_length (items);
if ((limit != -1) && (length > limit))
@@ -492,118 +314,74 @@ gedit_open_document_selector_get_items (GtkRecentChooser *chooser)
return items;
}
-static void
-gedit_open_document_selector_select_all (GtkRecentChooser *chooser)
-{
- g_warning ("This function is not implemented for widgets of class '%s'",
- g_type_name (G_OBJECT_TYPE (chooser)));
-}
-
-static void
-gedit_open_document_selector_unselect_all (GtkRecentChooser *chooser)
-{
- g_warning ("This function is not implemented for widgets of class '%s'",
- g_type_name (G_OBJECT_TYPE (chooser)));
-}
-
static gboolean
-gedit_open_document_selector_set_current_uri (GtkRecentChooser *chooser,
- const gchar *uri,
- GError **error)
-{
- g_warning ("This function is not implemented for widgets of class '%s'",
- g_type_name (G_OBJECT_TYPE (chooser)));
-
- return FALSE;
-}
-
-static gchar *
-gedit_open_document_selector_get_current_uri (GtkRecentChooser *chooser)
-{
- g_warning ("This function is not implemented for widgets of class '%s'",
- g_type_name (G_OBJECT_TYPE (chooser)));
-
- return NULL;
-}
-
-static gboolean
-gedit_open_document_selector_select_uri (GtkRecentChooser *chooser,
- const gchar *uri,
- GError **error)
+real_populate_listbox (gpointer data)
{
- g_warning ("This function is not implemented for widgets of class '%s'",
- g_type_name (G_OBJECT_TYPE (chooser)));
-
- return FALSE;
-}
+ GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (data);
+ GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
+ GtkWidget *row = NULL;
+ GtkRecentInfo *info;
+ GList *children, *l, *items;
-static void
-gedit_open_document_selector_unselect_uri (GtkRecentChooser *chooser,
- const gchar *uri)
-{
- g_warning ("This function is not implemented for widgets of class '%s'",
- g_type_name (G_OBJECT_TYPE (chooser)));
-}
+ g_assert (priv->manager != NULL);
-static void
-set_current_filter (GeditOpenDocumentSelector *open_document_selector,
- GtkRecentFilter *filter)
-{
- GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
+ /* Clear the listbox */
+ children = gtk_container_get_children (GTK_CONTAINER (priv->listbox));
- if (priv->current_filter)
+ for (l = children; l != NULL; l = l->next)
{
- g_object_unref (G_OBJECT (priv->current_filter));
+ row = l->data;
+ dispose_row (open_document_selector, row);
}
- priv->current_filter = filter;
+ g_list_free (children);
+
+ items = gedit_open_document_selector_get_items (open_document_selector);
- if (priv->current_filter)
+ for (l = items; l != NULL; l = l->next)
{
- g_object_ref_sink (priv->current_filter);
- }
+ info = l->data;
+ row = create_row (open_document_selector, info);
+ gtk_recent_info_unref(info);
- populate_listbox (open_document_selector);
+ gtk_list_box_insert (GTK_LIST_BOX (priv->listbox), row, -1);
+ }
- g_object_notify (G_OBJECT (open_document_selector), "filter");
-}
+ g_list_free (items);
+ priv->populate_listbox_id = 0;
-static void
-gedit_open_document_selector_add_filter (GtkRecentChooser *chooser,
- GtkRecentFilter *filter)
-{
- set_current_filter (GEDIT_OPEN_DOCUMENT_SELECTOR (chooser), filter);
+ return FALSE;
}
static void
-gedit_open_document_selector_remove_filter (GtkRecentChooser *chooser,
- GtkRecentFilter *filter)
+populate_listbox (GeditOpenDocumentSelector *open_document_selector)
{
- GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (chooser);
GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
- if (filter == priv->current_filter)
+ if (priv->populate_listbox_id)
{
- g_object_unref (priv->current_filter);
- priv->current_filter = NULL;
-
- g_object_notify (G_OBJECT (open_document_selector), "filter");
+ return;
}
+
+ priv->populate_listbox_id = gdk_threads_add_idle_full (G_PRIORITY_HIGH_IDLE + 30,
+ real_populate_listbox,
+ open_document_selector,
+ NULL);
}
-static GSList *
-gedit_open_document_selector_list_filters (GtkRecentChooser *chooser)
+static void
+on_entry_changed (GtkEntry *entry,
+ GeditOpenDocumentSelector *open_document_selector)
{
- GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (chooser);
GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
- GSList *retval = NULL;
+ const gchar *entry_text;
- if (priv->current_filter)
- {
- retval = g_slist_prepend (retval, priv->current_filter);
- }
+ entry_text = gtk_entry_get_text (entry);
+
+ g_free (priv->substring_filter);
+ priv->substring_filter = g_utf8_strdown (entry_text, -1);
- return retval;
+ populate_listbox (open_document_selector);
}
static void
@@ -616,34 +394,13 @@ on_recent_manager_changed (GtkRecentManager *manager,
}
static void
-set_recent_manager (GeditOpenDocumentSelector *open_document_selector,
- GtkRecentManager *manager)
-{
- GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
-
- g_return_if_fail (GTK_IS_RECENT_MANAGER (manager) || manager == NULL);
-
- if (priv->recent_manager_changed_id)
- {
- g_signal_handler_disconnect (priv->manager, priv->recent_manager_changed_id);
- priv->recent_manager_changed_id = 0;
- }
-
- priv->manager = manager ? manager : gtk_recent_manager_get_default ();
-
- priv->recent_manager_changed_id = g_signal_connect (priv->manager,
- "changed",
- G_CALLBACK (on_recent_manager_changed),
- open_document_selector);
-}
-
-static void
gedit_open_document_selector_finalize (GObject *object)
{
GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (object);
GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
priv->manager = NULL;
+ g_free (priv->substring_filter);
G_OBJECT_CLASS (gedit_open_document_selector_parent_class)->finalize (object);
}
@@ -655,20 +412,8 @@ gedit_open_document_selector_dispose (GObject *object)
GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
g_clear_object (&priv->ui_settings);
- g_clear_object (&priv->current_filter);
g_clear_object (&priv->gedit_app_filter);
- if (priv->sort_data_destroy)
- {
- priv->sort_data_destroy (priv->sort_data);
- priv->sort_data_destroy = NULL;
- }
-
- g_free (priv->substring_filter);
-
- priv->sort_data = NULL;
- priv->sort_func = NULL;
-
if (priv->recent_manager_changed_id)
{
g_signal_handler_disconnect (priv->manager, priv->recent_manager_changed_id);
@@ -711,123 +456,6 @@ gedit_open_document_selector_constructed (GObject *object)
populate_listbox (open_document_selector);
}
-static void
-gedit_open_document_selector_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (object);
- GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
-
- switch (prop_id)
- {
- case GTK_RECENT_CHOOSER_PROP_RECENT_MANAGER:
- set_recent_manager (open_document_selector, g_value_get_object (value));
- break;
- case GTK_RECENT_CHOOSER_PROP_SHOW_PRIVATE:
- if (priv->show_private != g_value_get_boolean (value))
- {
- priv->show_private = g_value_get_boolean (value);
- g_object_notify_by_pspec (object, pspec);
- }
- break;
- case GTK_RECENT_CHOOSER_PROP_SHOW_NOT_FOUND:
- if (priv->show_not_found != g_value_get_boolean (value))
- {
- priv->show_not_found = g_value_get_boolean (value);
- g_object_notify_by_pspec (object, pspec);
- }
- break;
- case GTK_RECENT_CHOOSER_PROP_SHOW_TIPS:
- g_warning ("%s: Choosers of type `%s' do not support tooltips.",
- G_STRFUNC,
- G_OBJECT_TYPE_NAME (object));
- break;
- case GTK_RECENT_CHOOSER_PROP_SHOW_ICONS:
- g_warning ("%s: Choosers of type `%s' do not support icons.",
- G_STRFUNC,
- G_OBJECT_TYPE_NAME (object));
- break;
- case GTK_RECENT_CHOOSER_PROP_SELECT_MULTIPLE:
- g_warning ("%s: Choosers of type `%s' do not support selecting multiple items.",
- G_STRFUNC,
- G_OBJECT_TYPE_NAME (object));
- break;
- case GTK_RECENT_CHOOSER_PROP_LOCAL_ONLY:
- if (priv->local_only != g_value_get_boolean (value))
- {
- priv->local_only = g_value_get_boolean (value);
- g_object_notify_by_pspec (object, pspec);
- }
- break;
- case GTK_RECENT_CHOOSER_PROP_LIMIT:
- if (priv->limit != g_value_get_int (value))
- {
- priv->limit = g_value_get_int (value);
- g_object_notify_by_pspec (object, pspec);
- }
- break;
- case GTK_RECENT_CHOOSER_PROP_SORT_TYPE:
- if (priv->sort_type != g_value_get_enum (value))
- {
- priv->sort_type = g_value_get_enum (value);
- g_object_notify_by_pspec (object, pspec);
- }
- break;
- case GTK_RECENT_CHOOSER_PROP_FILTER:
- set_current_filter (open_document_selector, g_value_get_object (value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-gedit_open_document_selector_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- GeditOpenDocumentSelector *open_document_selector = GEDIT_OPEN_DOCUMENT_SELECTOR (object);
- GeditOpenDocumentSelectorPrivate *priv = open_document_selector->priv;
-
- switch (prop_id)
- {
- case GTK_RECENT_CHOOSER_PROP_SHOW_TIPS:
- g_value_set_boolean (value, FALSE);
- break;
- case GTK_RECENT_CHOOSER_PROP_LIMIT:
- g_value_set_int (value, priv->limit);
- break;
- case GTK_RECENT_CHOOSER_PROP_LOCAL_ONLY:
- g_value_set_boolean (value, priv->local_only);
- break;
- case GTK_RECENT_CHOOSER_PROP_SORT_TYPE:
- g_value_set_enum (value, priv->sort_type);
- break;
- case GTK_RECENT_CHOOSER_PROP_SHOW_PRIVATE:
- g_value_set_boolean (value, priv->show_private);
- break;
- case GTK_RECENT_CHOOSER_PROP_SHOW_NOT_FOUND:
- g_value_set_boolean (value, priv->show_not_found);
- break;
- case GTK_RECENT_CHOOSER_PROP_SHOW_ICONS:
- g_value_set_boolean (value, FALSE);
- break;
- case GTK_RECENT_CHOOSER_PROP_SELECT_MULTIPLE:
- g_value_set_boolean (value, FALSE);
- break;
- case GTK_RECENT_CHOOSER_PROP_FILTER:
- g_value_set_object (value, priv->current_filter);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
static GtkSizeRequestMode
gedit_open_document_selector_get_request_mode (GtkWidget *widget)
{
@@ -843,23 +471,6 @@ gedit_open_document_selector_get_preferred_width (GtkWidget *widget,
}
static void
-gtk_recent_chooser_iface_init (GtkRecentChooserIface *iface)
-{
- iface->set_current_uri = gedit_open_document_selector_set_current_uri;
- iface->get_current_uri = gedit_open_document_selector_get_current_uri;
- iface->select_uri = gedit_open_document_selector_select_uri;
- iface->unselect_uri = gedit_open_document_selector_unselect_uri;
- iface->select_all = gedit_open_document_selector_select_all;
- iface->unselect_all = gedit_open_document_selector_unselect_all;
- iface->set_sort_func = gedit_open_document_selector_set_sort_func;
- iface->get_recent_manager = gedit_open_document_selector_get_recent_manager;
- iface->add_filter = gedit_open_document_selector_add_filter;
- iface->remove_filter = gedit_open_document_selector_remove_filter;
- iface->list_filters = gedit_open_document_selector_list_filters;
- iface->get_items = gedit_open_document_selector_get_items;
-}
-
-static void
gedit_open_document_selector_class_init (GeditOpenDocumentSelectorClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
@@ -868,23 +479,10 @@ gedit_open_document_selector_class_init (GeditOpenDocumentSelectorClass *klass)
gobject_class->constructed = gedit_open_document_selector_constructed;
gobject_class->finalize = gedit_open_document_selector_finalize;
gobject_class->dispose = gedit_open_document_selector_dispose;
- gobject_class->set_property = gedit_open_document_selector_set_property;
- gobject_class->get_property = gedit_open_document_selector_get_property;
widget_class->get_request_mode = gedit_open_document_selector_get_request_mode;
widget_class->get_preferred_width = gedit_open_document_selector_get_preferred_width;
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_RECENT_MANAGER,
"recent-manager");
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_SHOW_PRIVATE,
"show-private");
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_SHOW_TIPS, "show-tips");
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_SHOW_ICONS, "show-icons");
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_SHOW_NOT_FOUND,
"show-not-found");
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_SELECT_MULTIPLE,
"select-multiple");
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_LIMIT, "limit");
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_LOCAL_ONLY, "local-only");
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_SORT_TYPE, "sort-type");
- g_object_class_override_property (gobject_class, GTK_RECENT_CHOOSER_PROP_FILTER, "filter");
-
signals[RECENT_FILE_ACTIVATED] =
g_signal_new ("recent-file-activated",
G_TYPE_FROM_CLASS (klass),
@@ -921,17 +519,16 @@ gedit_open_document_selector_init (GeditOpenDocumentSelector *open_document_sele
priv->ui_settings = g_settings_new ("org.gnome.gedit.preferences.ui");
/* gedit-open-document-selector initial state */
- priv->show_icons= FALSE;
- priv->show_tips = FALSE;
priv->show_not_found = TRUE;
priv->show_private = FALSE;
priv->local_only = FALSE;
- priv->sort_type = GTK_RECENT_SORT_MRU;
+ priv->manager = gtk_recent_manager_get_default ();
- priv->current_filter = NULL;
- priv->sort_func = NULL;
- priv->sort_data = NULL;
+ priv->recent_manager_changed_id = g_signal_connect (priv->manager,
+ "changed",
+ G_CALLBACK (on_recent_manager_changed),
+ open_document_selector);
priv->substring_filter = g_strdup ("\0");
@@ -943,11 +540,10 @@ gedit_open_document_selector_init (GeditOpenDocumentSelector *open_document_sele
priv->populate_listbox_id = 0;
priv->recent_manager_changed_id = 0;
- g_settings_bind (priv->ui_settings,
- GEDIT_SETTINGS_MAX_RECENTS,
- open_document_selector,
- "limit",
- G_SETTINGS_BIND_GET);
+ g_settings_get (priv->ui_settings,
+ GEDIT_SETTINGS_MAX_RECENTS,
+ "u",
+ &priv->limit);
g_signal_connect (open_document_selector->recent_search_entry,
"changed",
@@ -978,17 +574,6 @@ GeditOpenDocumentSelector *
gedit_open_document_selector_new (void)
{
return g_object_new (GEDIT_TYPE_OPEN_DOCUMENT_SELECTOR,
- "recent-manager", NULL,
- NULL);
-}
-
-GeditOpenDocumentSelector *
-gedit_open_document_selector_new_for_manager (GtkRecentManager *manager)
-{
- g_return_val_if_fail (manager == NULL || GTK_IS_RECENT_MANAGER (manager), NULL);
-
- return g_object_new (GEDIT_TYPE_OPEN_DOCUMENT_SELECTOR,
- "recent-manager", manager,
NULL);
}
diff --git a/gedit/gedit-open-document-selector.h b/gedit/gedit-open-document-selector.h
index d5bfd78..1445456 100644
--- a/gedit/gedit-open-document-selector.h
+++ b/gedit/gedit-open-document-selector.h
@@ -40,12 +40,6 @@ typedef struct _GeditOpenDocumentSelector GeditOpenDocumentSelector;
typedef struct _GeditOpenDocumentSelectorClass GeditOpenDocumentSelectorClass;
typedef struct _GeditOpenDocumentSelectorPrivate GeditOpenDocumentSelectorPrivate;
-typedef struct
-{
- GtkRecentSortFunc func;
- gpointer data;
-} SortRecentData;
-
struct _GeditOpenDocumentSelector
{
GtkBox parent;
@@ -66,7 +60,6 @@ struct _GeditOpenDocumentSelectorClass
GType gedit_open_document_selector_get_type (void) G_GNUC_CONST;
GeditOpenDocumentSelector * gedit_open_document_selector_new (void);
-GeditOpenDocumentSelector * gedit_open_document_selector_new_for_manager (GtkRecentManager
*recent_manager);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]