Implement ctrl+click on expander to expand item recursively
This is a re-report of bug 729531
In Evince we have a treeview to navigate through a PDF index, likely in books with several nested levels.
It such cases, the expander works find to expand one level by default. But in some situations (e.g. opening a chapter to look for a specific section/subsection), expanding recursively is desired.
Handling ctrl+click in the row does not seem elegant. It sounds better to have it in the expander only, but hopefully without custom handlers.
For an specific use case, see Bug 585967
As a reference, this is the conversation on IRC (circa 2014):
<gpoo> in a gtktreeview, is there a way to process say ctrl-click only in the expander, not the row?
<Company> gpoo: i have pitchforks for people that add custom event handlers for these things
<gpoo> Company: the use case makes sense to me: click on expander expands the default one-level, ctrl-click expands it recursively
<Company> gpoo: that would be something I'd either implemnt in GtkTreeView or not at all (maybe via drop-down menu)
<Company> gpoo: because custom event handlers are likely to conflict with future changes in treeview itself
<Company> gpoo: looking at gtktreeview.c, there's a boolean flag that we currently hardcode to FALSE, shouldn't be too hard to check for button_event->state & CTRL if we wanted to
<gpoo> Company: I am filing a bug
<Company> collapse doesn't seem to have that flag (no idea why), so that would need more code
<Company> yeah, I'd be the wrong person to ask if we actually want that feature
<gpoo> Company: whether it is implemented or not, I think is good to have the link (bug) for future reference