GNOME Bugzilla – Bug 491518
Tree lines need to be show-expander and level-indentation aware
Last modified: 2018-02-10 03:32:21 UTC
Please describe the problem: Using Gossip's CellRendererExpander (also used in Rhythmbox, used unchanged here in code), and setting the default expanders to disabled in the TreeView, causes the child rows to be rendered at a wrong indentation. Steps to reproduce: 1. Disable default expanders with gtk_tree_view_set_show_expanders(view, FALSE); 2. Add Gossip's CellRendererExpander as the first cellrenderer in a _single_ column with the other renderers 3. See result looking like http://futurepast.free.fr/STATIC/buggy-expandedness.png Actual results: Child rows are indented in a wrong way. Expected results: Correct indentation (not overlapping the tree lines, certainly at least) Does this happen every time? Yep, doing it the way as described anyhow. Other information: Sorry i didn't create testcase code yet
When show-expanders is FALSE, child rows will no longer be indented. In this case you can still get the child rows indented by using the level-indentation property. In any case, the code taking care of the indentation is right, rather the tree lines code has to be updated. In this case it will have to be disabled if (show_expanders ? expander_size : 0) + level_indentation == 0
I think that I have a patch for this problem. This patch is written on top of another patch (71926). The approach however is that childs can still be indented when the show-expanders if set FALSE. Treelines have to take care that both the expander size (if show-expanders is TRUE) and the indentation are used in the calculation.
*** Bug 608696 has been marked as a duplicate of this bug. ***
We're moving to gitlab! As part of this move, we are closing bugs that haven't seen activity in more than 5 years. If this issue is still imporant to you and still relevant with GTK+ 3.22 or master, please consider creating a gitlab issue for it.