X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fui.c;h=bdd95b061a95b0f88e88e58ddc8f2b4195f1e4c3;hb=d36841f273ffe01ba67ae77a65ba2cd658339e64;hp=afe063e8a9ce55b9a9af994939b0c5ad33fb9882;hpb=482b279e48e45c0954e5ff33aa6f0104b9af1cad;p=omnplay diff --git a/src/ui.c b/src/ui.c index afe063e..bdd95b0 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] = 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);