Locking branch ready for testing

T Hall tahall256 at gmail.com
Sun Jul 8 14:39:31 UTC 2012


Hi Sven,

I've just compiled your branch and given it a quick test. These are my
observations so far:

> - tools can be changed even if the active layer is locked/invisible,
> no longer grayed out (unless it's a shape layer)
Seems to work fine.
> - cursor/brush outline is still shown when the layer is
> locked/invisible
Works fine.
> - selections can be edited even if the current layer is locked, unless
> there is a locked local selection
Selection tools work. However, there are a couple of functions
(Deselect, Reselect and, Invert Selection), which aren't allowed on
locked layers (Greyed-out in menu, shortcuts do nothing). Since these
functions only edit selections, and don't affect the layer, I think
they should be allowed when the selected layer is locked.

> - if the user tries to paint on a locked layer, Krita will show a
> small notification
Works fine. However, no notification is shown if the user tried to edit
the via a shortcut. e.g. pressing backspace to fill the layer with the
foreground colour (the application behaves correctly, in that it
doesn't allow the layer to be filled, it's only the notification
that's missing). I think it would be nice if the notification appeared
for such actions. (I haven't looked at how locking a layer
disables/blocks shortcuts/actions like this, so don't know how
difficult it would be to implement this)

Additionally:
Items from the "Layer" menu (Mirror Horizontally, Mirror
Vertically, Shear Layer, Scale Layer, Rotate..., Convert Layer Type)
are still available for use on locked layers. Most of these are
destructive (not revertable except via undo), so definitely shouldn't be
allowed on locked layers.

The transform tool also exhibits some odd behaviour (What's new :p). It
allows you to make the transformation, as long as you don't apply it
(Seems reasonable). However, when you try to apply it (and get the
"Layer is locked" notification), it returns all the handles to their
original position.
1. It appears you can't keep your transformation and either carry on
transforming or unlock the layer then apply it (if you really meant to
do the transformation, but forgot to unlock the layer first).
2. Actually, if (before attempting further transformation) you switch
to another tool, then switch back to the transform tool, then your
transformation reappears as it was before you tried to apply it
(allowing you to carry on transforming, or unlock and apply).

I believe correct behaviour should be:
When you try to apply the transformation, handles remain in their
transformed position, allowing you to continue working with the
transformation (without having to switch to another tool and back).

I haven't tested it exhaustively, but those I did test suggest that
all of the above applies not only to locked layers, but also to
invisible layers, and locked and invisible layers.

One more minor issue: If I create a group layer containing other layers
and lock the group layer, but not the layers inside it:
1. It won't let me edit the layers inside. This is correct behaviour.
2. The notification says "Layer is invisible", regardless of whether the
group layer is locked, invisible or locked and invisible.

Probably unrelated: I notice I can't make a selection when the
group layer is selected, be it unlocked or locked. Following the logic
of selection tools do not edit the selected layer, perhaps they should
be allowed? This could also be related to allowing the transform tool
to transform multiple layers at the same time by operating on a group
layer (feature request detailed in bug 297927). Anyway, I don't think
this is related to 'lockedness' or specific to your branch, so I guess
it's offtopic in this email.

So to summarise:
 - Selection functions disallowed
 - No notifications shown for shortcuts/menu actions
 - Items from the Layer menu allowed to edit locked layers
 - Transform tool oddities
 - Incorrect notification for group layer locked

Hope that helps.

Regards,
Tom


More information about the kimageshop mailing list