gnome-terminal r2626 - trunk/src
- From: chpe svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-terminal r2626 - trunk/src
- Date: Thu, 29 May 2008 19:39:50 +0000 (UTC)
Author: chpe
Date: Thu May 29 19:39:49 2008
New Revision: 2626
URL: http://svn.gnome.org/viewvc/gnome-terminal?rev=2626&view=rev
Log:
Code cleanup.
No need to wrap the list store in a sort model.
Modified:
trunk/src/encoding.c
Modified: trunk/src/encoding.c
==============================================================================
--- trunk/src/encoding.c (original)
+++ trunk/src/encoding.c Thu May 29 19:39:49 2008
@@ -305,8 +305,8 @@
static GSList *active_encodings = NULL;
-static void update_active_encoding_tree_models (void);
-static void register_active_encoding_tree_model (GtkListStore *store);
+static void update_active_encoding_tree_models (void);
+static void register_active_encoding_treeview (GtkTreeView *tree_view);
static void encodings_notify_cb (GConfClient *client,
guint cnxn_id,
@@ -765,10 +765,9 @@
GtkWidget *w;
GtkCellRenderer *cell_renderer;
int i;
- GtkTreeModel *sort_model;
- GtkListStore *tree;
+ GtkListStore *store;
GtkTreeViewColumn *column;
- GtkTreeIter parent_iter;
+ GtkTreeIter iter;
GtkTreeSelection *selection;
GtkWidget *dialog;
@@ -813,8 +812,6 @@
"encoding-dialog-available-treeview",
w);
- tree = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
-
/* Column 1 */
cell_renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes (_("_Description"),
@@ -833,37 +830,32 @@
gtk_tree_view_append_column (GTK_TREE_VIEW (w), column);
gtk_tree_view_column_set_sort_column_id (column, COLUMN_CHARSET);
- /* Add the data */
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (w));
+ gtk_tree_selection_set_mode (GTK_TREE_SELECTION (selection),
+ GTK_SELECTION_MULTIPLE);
- i = 0;
- while (i < (int) G_N_ELEMENTS (encodings))
+ store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
+
+ for (i = 0; i < (int) G_N_ELEMENTS (encodings); ++i)
{
- if (encodings[i].valid)
- {
- gtk_list_store_append (tree, &parent_iter);
- gtk_list_store_set (tree, &parent_iter,
- COLUMN_CHARSET,
- encodings[i].charset,
- COLUMN_NAME,
- encodings[i].name,
- -1);
- }
- ++i;
+ if (!encodings[i].valid)
+ continue;
+
+ gtk_list_store_insert_with_values (store, &iter, -1,
+ COLUMN_CHARSET,
+ encodings[i].charset,
+ COLUMN_NAME,
+ encodings[i].name,
+ -1);
}
- /* Sort model */
- sort_model = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (tree));
-
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model),
+ /* Now turn on sorting */
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
COLUMN_NAME,
GTK_SORT_ASCENDING);
- gtk_tree_view_set_model (GTK_TREE_VIEW (w), sort_model);
- g_object_unref (G_OBJECT (tree));
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (w));
- gtk_tree_selection_set_mode (GTK_TREE_SELECTION (selection),
- GTK_SELECTION_MULTIPLE);
+ gtk_tree_view_set_model (GTK_TREE_VIEW (w), GTK_TREE_MODEL (store));
+ g_object_unref (store);
available_selection_changed_callback (selection, dialog);
g_signal_connect (G_OBJECT (selection), "changed",
@@ -876,8 +868,6 @@
g_object_set_data (G_OBJECT (dialog),
"encoding-dialog-displayed-treeview",
w);
-
- tree = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
/* Column 1 */
cell_renderer = gtk_cell_renderer_text_new ();
@@ -898,17 +888,14 @@
gtk_tree_view_column_set_sort_column_id (column, COLUMN_CHARSET);
/* Add the data */
- register_active_encoding_tree_model (tree);
-
- /* Sort model */
- sort_model = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (tree));
-
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model),
+ store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
COLUMN_NAME,
GTK_SORT_ASCENDING);
-
- gtk_tree_view_set_model (GTK_TREE_VIEW (w), sort_model);
- g_object_unref (G_OBJECT (tree));
+ gtk_tree_view_set_model (GTK_TREE_VIEW (w), GTK_TREE_MODEL (store));
+ g_object_unref (store);
+
+ register_active_encoding_treeview (GTK_TREE_VIEW (w));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (w));
gtk_tree_selection_set_mode (GTK_TREE_SELECTION (selection),
@@ -925,12 +912,13 @@
}
static void
-update_single_tree_model (GtkListStore *store)
+update_single_treeview (GtkTreeView *tree_view)
{
+ GtkListStore *store;
GSList *tmp;
GtkTreeIter iter;
- gtk_list_store_clear (store);
+ store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
for (tmp = active_encodings; tmp != NULL; tmp = tmp->next)
{
@@ -943,35 +931,43 @@
e->name,
-1);
}
+
+ /* Now turn on sorting */
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
+ COLUMN_NAME,
+ GTK_SORT_ASCENDING);
+
+ gtk_tree_view_set_model (tree_view, GTK_TREE_MODEL (store));
+ g_object_unref (store);
}
-static GSList *stores = NULL;
+static GSList *treeviews = NULL;
static void
-unregister_store (void *data,
- GObject *where_object_was)
+unregister_treeview (void *data,
+ GObject *where_object_was)
{
- stores = g_slist_remove (stores, where_object_was);
+ treeviews = g_slist_remove (treeviews, where_object_was);
}
static void
update_active_encoding_tree_models (void)
{
GSList *tmp;
- tmp = stores;
+ tmp = treeviews;
while (tmp != NULL)
{
- update_single_tree_model (tmp->data);
+ update_single_treeview (tmp->data);
tmp = tmp->next;
}
}
static void
-register_active_encoding_tree_model (GtkListStore *store)
+register_active_encoding_treeview (GtkTreeView *tree_view)
{
- update_single_tree_model (store);
- stores = g_slist_prepend (stores, store);
- g_object_weak_ref (G_OBJECT (store), unregister_store, NULL);
+ update_single_treeview (tree_view);
+ treeviews = g_slist_prepend (treeviews, tree_view);
+ g_object_weak_ref (G_OBJECT (tree_view), unregister_treeview, NULL);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]