diff options
Diffstat (limited to 'src/fe-gtk/chanview-tree.c')
-rw-r--r-- | src/fe-gtk/chanview-tree.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/fe-gtk/chanview-tree.c b/src/fe-gtk/chanview-tree.c index 4a4f1db2..2a0bff65 100644 --- a/src/fe-gtk/chanview-tree.c +++ b/src/fe-gtk/chanview-tree.c @@ -75,6 +75,8 @@ cv_tree_init (chanview *cv) { GtkWidget *view, *win; GtkCellRenderer *renderer; + GtkTreeViewColumn *col; + int wid1, wid2; static const GtkTargetEntry dnd_src_target[] = { {"HEXCHAT_CHANVIEW", GTK_TARGET_SAME_APP, 75 } @@ -105,8 +107,17 @@ cv_tree_init (chanview *cv) { gtk_tree_view_set_enable_tree_lines (GTK_TREE_VIEW (view), TRUE); } + + /* Indented channels with no server looks silly, but we still want expanders */ + if (!prefs.hex_gui_tab_server) + { + gtk_widget_style_get (view, "expander-size", &wid1, "horizontal-separator", &wid2, NULL); + gtk_tree_view_set_level_indentation (GTK_TREE_VIEW (view), -wid1 - wid2); + } + gtk_container_add (GTK_CONTAINER (win), view); + col = gtk_tree_view_column_new(); /* icon column */ if (cv->use_icons) @@ -114,9 +125,9 @@ cv_tree_init (chanview *cv) renderer = gtk_cell_renderer_pixbuf_new (); if (prefs.hex_gui_compact) g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); - gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (view), - -1, NULL, renderer, - "pixbuf", COL_PIXBUF, NULL); + + gtk_tree_view_column_pack_start(col, renderer, FALSE); + gtk_tree_view_column_set_attributes (col, renderer, "pixbuf", COL_PIXBUF, NULL); } /* main column */ @@ -124,9 +135,9 @@ cv_tree_init (chanview *cv) if (prefs.hex_gui_compact) g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); - gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (view), - -1, NULL, renderer, - "text", COL_NAME, "attributes", COL_ATTR, NULL); + gtk_tree_view_column_pack_start(col, renderer, TRUE); + gtk_tree_view_column_set_attributes (col, renderer, "text", COL_NAME, "attributes", COL_ATTR, NULL); + gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (view))), "changed", G_CALLBACK (cv_tree_sel_cb), cv); |