From: Richard Kettlewell Date: Fri, 13 Jun 2008 10:02:05 +0000 (+0100) Subject: Rearrange choose columns. The track name column is now last by X-Git-Tag: 4.1~15^2~28 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/e9a7265963ea7d87042645e209b0397ed136c6c6?hp=9eeb9f121e6f5bea8307f5a90bdae6359c4a3211 Rearrange choose columns. The track name column is now last by default so that if it gets too wide you don't lose the others. It is also marked as the expander column, so the expander widgets appear in a more sensible place. --- diff --git a/disobedience/choose-search.c b/disobedience/choose-search.c index c804276..d12a343 100644 --- a/disobedience/choose-search.c +++ b/disobedience/choose-search.c @@ -190,6 +190,8 @@ static int choose_compare_references(const void *av, const void *bv) { * * If @p row_align is negative no row alignemt is performed. Otherwise * it must be between 0 (the top) and 1 (the bottom). + * + * TODO: if the row is already visible do nothing. */ static int choose_make_path_visible(GtkTreePath *path, gfloat row_align) { diff --git a/disobedience/choose.c b/disobedience/choose.c index a275fac..8813ad3 100644 --- a/disobedience/choose.c +++ b/disobedience/choose.c @@ -374,18 +374,18 @@ GtkWidget *choose_widget(void) { /* Create cell renderers and columns */ /* TODO use a table */ { - GtkCellRenderer *r = gtk_cell_renderer_text_new(); + GtkCellRenderer *r = gtk_cell_renderer_toggle_new(); GtkTreeViewColumn *c = gtk_tree_view_column_new_with_attributes - ("Track", + ("Queued", r, - "text", NAME_COLUMN, - "background", BG_COLUMN, - "foreground", FG_COLUMN, + "active", STATE_COLUMN, + "visible", ISFILE_COLUMN, (char *)0); gtk_tree_view_column_set_resizable(c, TRUE); gtk_tree_view_column_set_reorderable(c, TRUE); - g_object_set(c, "expand", TRUE, (char *)0); gtk_tree_view_append_column(GTK_TREE_VIEW(choose_view), c); + g_signal_connect(r, "toggled", + G_CALLBACK(choose_state_toggled), 0); } { GtkCellRenderer *r = gtk_cell_renderer_text_new(); @@ -400,18 +400,19 @@ GtkWidget *choose_widget(void) { gtk_tree_view_append_column(GTK_TREE_VIEW(choose_view), c); } { - GtkCellRenderer *r = gtk_cell_renderer_toggle_new(); + GtkCellRenderer *r = gtk_cell_renderer_text_new(); GtkTreeViewColumn *c = gtk_tree_view_column_new_with_attributes - ("Queued", + ("Track", r, - "active", STATE_COLUMN, - "visible", ISFILE_COLUMN, + "text", NAME_COLUMN, + "background", BG_COLUMN, + "foreground", FG_COLUMN, (char *)0); gtk_tree_view_column_set_resizable(c, TRUE); gtk_tree_view_column_set_reorderable(c, TRUE); + g_object_set(c, "expand", TRUE, (char *)0); gtk_tree_view_append_column(GTK_TREE_VIEW(choose_view), c); - g_signal_connect(r, "toggled", - G_CALLBACK(choose_state_toggled), 0); + gtk_tree_view_set_expander_column(GTK_TREE_VIEW(choose_view), c); } /* The selection should support multiple things being selected */