X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fui.c;h=a4ac0246a9ae65d85fd39e2f6aa1d0a4e1016907;hb=542e0abd65b0663c9cb2cb5a39e1840f493a4ba9;hp=afe063e8a9ce55b9a9af994939b0c5ad33fb9882;hpb=482b279e48e45c0954e5ff33aa6f0104b9af1cad;p=omnplay diff --git a/src/ui.c b/src/ui.c index afe063e..a4ac024 100644 --- a/src/ui.c +++ b/src/ui.c @@ -131,30 +131,33 @@ static GtkWidget* create_treeview(GtkWidget* top, char* name, const column_desc_ for(i = 0, count = 0; columns[i].title; i++, count++) list_store_types[i] = (columns[i].type == G_TYPE_OBJECT)?GDK_TYPE_PIXBUF:columns[i].type; + list_store_types[count + 1] = G_TYPE_INT; + + list_store = gtk_list_store_newv(count + 1, list_store_types); - list_store = gtk_list_store_newv(count, list_store_types); gtk_tree_view_set_model( GTK_TREE_VIEW( treeview ), GTK_TREE_MODEL( list_store ) ); for(i = 0; columns[i].title; i++) { char* prop; - if(list_store_types[i] == G_TYPE_STRING) - { - renderer = gtk_cell_renderer_text_new(); - prop = "text"; - } - else if(list_store_types[i] == G_TYPE_OBJECT) + if(columns[i].type == G_TYPE_OBJECT) { renderer = gtk_cell_renderer_pixbuf_new(); + gtk_cell_renderer_set_padding(renderer, 0, 0); prop = "pixbuf"; } + else if(columns[i].type == G_TYPE_BOOLEAN) + { + renderer = gtk_cell_renderer_toggle_new(); + prop = "active"; + } else - renderer = NULL; - - if(!renderer) continue; + { + renderer = gtk_cell_renderer_text_new(); + prop = "text"; + } - renderer = gtk_cell_renderer_toggle_new(); column = gtk_tree_view_column_new_with_attributes( columns[i].title, renderer, prop, i, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW( treeview ), column);