UI: better behaviour when no layer is selected
authorAndrew Chadwick <andrewc-git@piffle.org>
Fri, 13 Jun 2014 16:12:15 +0000 (17:12 +0100)
committerAndrew Chadwick <andrewc-git@piffle.org>
Fri, 13 Jun 2014 17:28:34 +0000 (18:28 +0100)
commit4bf025fb2fc72ef792f8a4dfb6bd3647fffdba37
tree9f76571b0836e6dd2aa10fdcc79859866625183c
parentc537a4f3c6951bba22e01396e0f6265deec57801
UI: better behaviour when no layer is selected

Bit of a grab-bag: basically make it all work correctly when the layer
stack is empty (currently that's just for debugging purposes). Helps shed
light on some weird edge cases.

* Actions which require a current layer now have managed sensitivities
* Add Layer can now add if there's nothing in the stack
* Make certain GtkTreeView state-management callbacks more robust
* Layer mode combo now has its sensitivity managed
* Layer opacity scale now has its sensitivity managed
* More careful checking when updating the UI selection
* More careful auto-scrolling when the stack presents as empty
* Clear current path when clearing the root stack
* Bugfix: announce path clearing done by set_current_path() (missed one)
* API clarity: rename command methods if they only affect current layer
* Robustness: such actions and commands now stop if current layer invalid
gui/brushiconeditor.py
gui/document.py
gui/layermodes.py
gui/layerswindow.py
lib/command.py
lib/document.py
lib/layer.py