Add all arrange docker actions to the shape selection tool context menu.
Needs ReviewPublic

Authored by woltherav on Jan 17 2019, 3:45 PM.

Details

Reviewers
None
Group Reviewers
Krita
Summary

This adds all the actions available in the arrange docker into the shape selection context menu.

These actions only work when the shape selection tool is active anyway, as well, it would allow us to just remove the arrange docker.

Furthermore, it will stop people being confused when it turns out the arrange docker does not allow arranging layers.

We might need to consider whether the above looks nice enough?

Diff Detail

Repository
R37 Krita
Lint
Lint Skipped
Unit
Unit Tests Skipped
woltherav requested review of this revision.Jan 17 2019, 3:45 PM
woltherav created this revision.

For reference, @scottpetrovic and @Deevad think this is a good idea.

I would like to say in advance that I do not oppose the change (though must say I quite like the docker, since I worked on it some time ago; that can easily put me into a conflict of interest :). I just want to add some thoughts about a possible accessibility issue I can see as a dyslexic (also I'm not an expert on the matter, just what I know from myself and my relatives).

When I need to arrange something, I prefer the "visual" interface of the arrange docker to the more "text" based menu, mainly for two reasons:

  • "Directional" words mean close to nothing to me, I confuse "left" and "right" daily (I know _where_ it is, just the meaning of the words is somewhat blurred), "horizontal/vertical" makes me think for a while. It certainly helps, if the menu shows the icons, as it does on the screenshot. Unfortunately, Krita does not show icons in menus outside of KDE (main.cc:346).
  • The action labels look all the same, with only minimal variation and in one direction, which makes them harder to distinguish. The grid alignment and grouping of the docker on the other hand enables me to easily remember where the controls are in space, which simplifies navigation.

My main issue is that the dockers actions only works in the shape selection tool. Perhaps we can put in the actions into the tool options for the shape selection tool/default tool if it is an issue that the docker is removed?

For me it would certainly work in the tool options. I wonder if it would be a hurdle for users coming from other software, though. I think we discussed it a while back with @scottpetrovic, but I do not recall the details.

@woltherav @amedonosova I could be mistaken, but this is just adding another way to get to the arrange functions. The Arrange docker is not being removed, so people can still go to that to use that if they want icons and a GUI interface for doing the arrange operations. I don't see really any reason to have a conflict of interest with this. There are a lot of things in the application that have multiple ways to access them. People like options.

There are certain people that like to use the right-click menus for accessing things, so this is mostly just to make their life easier. I am sure some people still prefer to use the docker for doing their arrange things -- which that will still exist for them.

rempt added a subscriber: rempt.Jan 19 2019, 1:35 PM

We should indeed remove the separate arrange docker, since it is confusing people who think they can arrange paint layers with it. I think having the options in a menu won't surprise our users much, it's quite common.

I am okay with this very patch for adding the actions. They look okay and work fine.

And I'm totally against removing the Arrange docker. The reason @amedonosova provided is really true: visual icons are much more obvious than a lot of text like "align left top centers". Different people like different ways to select it

To avoid confusion about Arrange docker we should just fix a bug in it: right now the actions are enabled when the user has a paint layer selected. And they should be disabled instead.

And, btw, I have nothing against implementing a feature of aligning paint layers. If users expect it, why not just implement it? There is nothing complex in it. It is a normal point of a wishlist.

plugins/tools/defaulttool/defaulttool/DefaultTool.cpp
1714

I would propose to add a separator between horizontal and vertical groups of actions. It looks better to my taste :)
(just a proposal, I don't insist)

1731

A separator here as well (just a proposal, I don't insist)

I tried to fix the wrongly enabled actions in the arrange docker (when no shapes are selected). The bug appeared because of this patch:

https://cgit.kde.org/krita.git/commit/?id=5f91230f074be53379ba1461c6a1560d1f8aa1eb

KoToolManager unconditionally enabled all the actions of the tool, even when the tool explicitly disabled them during activation. Some more investigation is needed.