get rid of unneeded sort model indirection

2008-04-01  Jens Granseuer  <jensgr@gmx.net>

	* gnome-keybinding-properties.c: (get_real_model), (clear_old_model),
	(append_keys_to_tree), (accel_edited_callback): get rid of unneeded
	sort model indirection

svn path=/trunk/; revision=8624
This commit is contained in:
Jens Granseuer 2008-04-01 19:24:43 +00:00 committed by Jens Granseuer
parent ad78407721
commit 40ebc083ce
2 changed files with 12 additions and 31 deletions

View file

@ -1,3 +1,9 @@
2008-04-01 Jens Granseuer <jensgr@gmx.net>
* gnome-keybinding-properties.c: (get_real_model), (clear_old_model),
(append_keys_to_tree), (accel_edited_callback): get rid of unneeded
sort model indirection
2008-03-31 Bastien Nocera <hadess@hadess.net> 2008-03-31 Bastien Nocera <hadess@hadess.net>
* eggcellrendererkeys.c (grab_key_callback): Fix Esc and Backspace * eggcellrendererkeys.c (grab_key_callback): Fix Esc and Backspace

View file

@ -64,22 +64,6 @@ typedef struct
static gboolean block_accels = FALSE; static gboolean block_accels = FALSE;
static GtkTreeModel*
get_real_model (GtkTreeView *tree_view)
{
GtkTreeModel *model;
GtkTreeModel *submodel;
model = gtk_tree_view_get_model (tree_view);
if (model)
submodel = gtk_tree_model_sort_get_model (GTK_TREE_MODEL_SORT (model));
else
submodel = NULL;
return submodel;
}
static GladeXML * static GladeXML *
create_dialog (void) create_dialog (void)
{ {
@ -268,32 +252,27 @@ keyentry_sort_func (GtkTreeModel *model,
} }
static void static void
clear_old_model (GladeXML *dialog) clear_old_model (GladeXML *dialog)
{ {
GtkWidget *tree_view; GtkWidget *tree_view;
GtkTreeModel *model; GtkTreeModel *model;
tree_view = WID ("shortcut_treeview"); tree_view = WID ("shortcut_treeview");
model = get_real_model (GTK_TREE_VIEW (tree_view)); model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view));
if (model == NULL) if (model == NULL)
{ {
/* create a new model */ /* create a new model */
GtkTreeModel *sort_model;
model = (GtkTreeModel *) gtk_tree_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_POINTER); model = (GtkTreeModel *) gtk_tree_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_POINTER);
sort_model = gtk_tree_model_sort_new_with_model (model); gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (model),
gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (sort_model),
KEYENTRY_COLUMN, KEYENTRY_COLUMN,
keyentry_sort_func, keyentry_sort_func,
NULL, NULL); NULL, NULL);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), sort_model); gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), model);
g_object_unref (model); g_object_unref (model);
g_object_unref (sort_model);
} }
else else
{ {
@ -308,8 +287,6 @@ clear_old_model (GladeXML *dialog)
* cached values do not have that set, though */ * cached values do not have that set, though */
gconf_client_clear_cache (client); gconf_client_clear_cache (client);
g_object_ref (model);
for (valid = gtk_tree_model_get_iter_first (model, &iter); for (valid = gtk_tree_model_get_iter_first (model, &iter);
valid; valid;
valid = gtk_tree_model_iter_next (model, &iter)) valid = gtk_tree_model_iter_next (model, &iter))
@ -327,8 +304,7 @@ clear_old_model (GladeXML *dialog)
} }
} }
gtk_tree_store_clear(GTK_TREE_STORE(model)); gtk_tree_store_clear (GTK_TREE_STORE (model));
g_object_unref (model);
g_object_unref (client); g_object_unref (client);
} }
@ -410,7 +386,7 @@ append_keys_to_tree (GladeXML *dialog,
gint i, j; gint i, j;
client = gconf_client_get_default (); client = gconf_client_get_default ();
model = get_real_model (GTK_TREE_VIEW (WID ("shortcut_treeview"))); model = gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("shortcut_treeview")));
/* Try to find a section parent iter, if it already exists */ /* Try to find a section parent iter, if it already exists */
i = gtk_tree_model_iter_n_children (model, NULL); i = gtk_tree_model_iter_n_children (model, NULL);
@ -868,7 +844,6 @@ accel_edited_callback (GtkCellRendererText *cell,
/* CapsLock isn't supported as a keybinding modifier, so keep it from confusing us */ /* CapsLock isn't supported as a keybinding modifier, so keep it from confusing us */
mask &= ~EGG_VIRTUAL_LOCK_MASK; mask &= ~EGG_VIRTUAL_LOCK_MASK;
model = get_real_model (view);
tmp_key.model = model; tmp_key.model = model;
tmp_key.keyval = keyval; tmp_key.keyval = keyval;
tmp_key.keycode = keycode; tmp_key.keycode = keycode;