From e9a7265963ea7d87042645e209b0397ed136c6c6 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Fri, 13 Jun 2008 11:02:05 +0100 Subject: [PATCH 1/1] 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. Organization: Straylight/Edgeware From: Richard Kettlewell --- disobedience/choose-search.c | 2 ++ disobedience/choose.c | 25 +++++++++++++------------ 2 files changed, 15 insertions(+), 12 deletions(-) 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 */ -- [mdw]