Mercurial > pidgin
diff src/gtkrequest.c @ 7909:5be22af4ebfc
[gaim-migrate @ 8569]
Reworked the list field API a bit. Items now have data associated with them
(which is not automatically freed by the API).
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Sun, 21 Dec 2003 20:51:05 +0000 |
| parents | 1d0bc32f8038 |
| children | c3dc33bb94dc |
line wrap: on
line diff
--- a/src/gtkrequest.c Sun Dec 21 19:58:11 2003 +0000 +++ b/src/gtkrequest.c Sun Dec 21 20:51:05 2003 +0000 @@ -621,7 +621,7 @@ GaimRequestField *field = (GaimRequestField *)data; const char *text; - gtk_tree_model_get(model, iter, 0, &text, -1); + gtk_tree_model_get(model, iter, 1, &text, -1); gaim_request_field_list_add_selected(field, text); } @@ -643,6 +643,8 @@ GtkCellRenderer *renderer; GtkTreeSelection *sel; GtkTreeViewColumn *column; + GtkTreeIter iter; + const GList *l; /* Create the scrolled window */ sw = gtk_scrolled_window_new(NULL, NULL); @@ -654,7 +656,7 @@ gtk_widget_show(sw); /* Create the list store */ - store = gtk_list_store_new(1, G_TYPE_STRING); + store = gtk_list_store_new(2, G_TYPE_POINTER, G_TYPE_STRING); /* Create the tree view */ treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); @@ -674,7 +676,19 @@ renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); - gtk_tree_view_column_add_attribute(column, renderer, "text", 0); + gtk_tree_view_column_add_attribute(column, renderer, "text", 1); + + for (l = gaim_request_field_list_get_items(field); l != NULL; l = l->next) + { + const char *text = (const char *)l->data; + + gtk_list_store_append(store, &iter); + + gtk_list_store_set(store, &iter, + 0, gaim_request_field_list_get_data(field, text), + 1, text, + -1); + } gtk_container_add(GTK_CONTAINER(sw), treeview); gtk_widget_show(treeview);
