New Objects Dialog
This is a new Objects dialog which replaces the old one. It uses some newer techniques for signals as well as better graphical interface for the lists. UX Issue: ux#23
Items to do:
- Order of objects must be reversed, currently order is backwards from layers dialog.
- Auto-Expanding must be implemented
- Layers vs. objects mode, a toggle which changes the auto-expanding logic
- Switching dialogs will cause items to be folded up (refreshed), so save expanded logic somewhere (perhaps on the xml node?)
- Selecting objects theme vs. background indication (see note 1.)
- Selecting a layer should not activate it's parent layer (i.e. selecting Layer one should not put you in 'root')
- Layer name editing, this mostly works if the signal isn't disrupted
- Drag and drop, this works in the TreeView, but the changes are not used yet.
- Dragging starting at item not in Desktop selection is ignored. It should just move that one item and select nothing.
- Expensive updates, the update is currently called on every attribute, it can be narrowed down. Update: Subtrees are only populated when expanded which is a big performance improvement. Also, some attributes are ignored for updates.
- Check the shape type (icon) name to make sure every attribute used in it's calculation is available to change
- Right click menus work correctly with the right items enabled for the object.
- Masks and Clips should be shown with a highlight icon.
- Internal blur/opacity (deliberately removed, BAD feature)
Previously the objects dialog never allowed you to select Layers, this is wrong. Layer selection is useful and allows blurring and opacity (and other things) without pulling the layer into group mode. But this means layer activation and layer selection are two separate actions. There are two parts to the UX for this, the first is how to show the activation and the selection to users. Row background colours are carefully controlled to reflect the selection state of the object and layer. Active layers will also highlight all of their children, selected layers should show as selected items.