This accomplishes several things:
- Offers an indication to user that there are layer-related actions
- Single click access to contextual menu
- Offers an indication to user where layers are located when viewport is
horizontally scrolled to right, and layer names are not visible
Since last column is resized to content (instead of stretched), the
active selection rectangle ends at width of widest visible item in tree,
regardless of which item is selected. This causes layer indicators to
become 'inactive' (not clickable and no tool tip) unless their rectangle
enters the view item's selection (active) rectangle. Always resetting
the minimum section size relative to the viewport ensures the view
item's selection rectangle extends to the right edge of the viewport,
which allows indicators to become active again.
For the c++ api dox this expands to "\c nullptr" (the
\c directive indicates a code literal value), and for sipify/Python
it expands to ``None`` (`` is sphinx annotation for literal values)
Makes for nicer dox for both c++ and Python!
Fixes an unreported bug where it was possible to select a layer tree group
and remove even when it contained required layers.
When removing layers/groups, the following checks will now also recursively
test layers and not just directly selected layers:
- test for layers with unsaved changes
- test for layers with active tasks running in background