Bug 318340

Summary: Brush options docker to access more sliders
Product: [Applications] krita Reporter: valerievk <valerie_vk>
Component: DockersAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED INTENTIONAL    
Severity: wishlist CC: halla, kwadraatnope, vascoalexander
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
URL: http://i45.tinypic.com/2ihtgxs.jpg
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description valerievk 2013-04-14 13:21:37 UTC
Right now, you can only access opacity, flow and size from the top toolbar. For everything else, you have to:
- Open the brush engine drop-down (cumbersome)
- Or assign shortcuts (limited availability, not to mention hard to remember).

Bollebib in particular wanted quick access to a number of sliders like in MyPaint. After discussions, I came up with this docker proposal:
http://i45.tinypic.com/2ihtgxs.jpg

- Similar to how the tool options docker works, the brush options docker will show just the options available to that engine. When you switch brush engines, the categories/options shown change.
- Like the "mode" drop-down in the top-toolbar, you can assign sliders (and maybe other things) as "favorites". Doing so will make them appear at the very top.
- By default, some common options will be up there, like some brush tip settings for the pixel brush (angle, density, etc.), smudge values for the color smudge brush, speed/smooth/displace for the experiment brush etc.

The advantage of this setup is that the various options can be added progressively, so the most commonly requested options can be added first, and more obscure ones added later.

Extra desirable functions:
1. Ctrl+clicking on a category will open that category, and also close all the other categories. This is a bit like how Ctrl+clicking on the eye icon of a layer hides all the other layers. This is to avoid clutter when looking through all those lists.

2. Brush presets to have the option to remember "brush options favorites". All brush engines will basically have a separate "Preset options" category, where you could check options such as "Remember brush options favourites", "Remember tool settings", and remember... anything else (colors? textures? gradients?) I'll file a separate wish for this once I think it through a bit more...

Reproducible: Always
Comment 1 valerievk 2013-04-14 15:04:40 UTC
Come to think of it, this interface could also be quite useful for filter brushes. When a filter brush is used, the sliders for that filter would be displayed in this very docker. For example, filter brush with Unsharp Mask would display the input values for: 
- Half-size
- Amount
- Threshold
Comment 2 Bollebib 2013-04-18 15:59:16 UTC
Maybe to the right of the slider there should be an icon that opens up the current settings editor and brings you straight to the corresponding curve should you want to. (or by double clicking on the  name,but there should possibly be a visual cue)


another thought I had was this

http://tinypic.com/view.php?pic=n36cn5&s=6

to make the brush systems more accessible
But as Valerievk correctly pointed out in the future there might be many more brushsystems
So then I changed it to a more adaptable idea with a dropdown

http://tinypic.com/view.php?pic=2zextzp&s=6

The benefit of this is you have all the brush tip options in 1 place, and you can change from one brush system to the next.

I also added the brush tip preview to always see which dab you have. in case you want to change the dab type you click that button and you get this

http://tinypic.com/view.php?pic=acafew&s=6

This is a powerful and quick way to always keep track of you dab and change it on the fly. Whenever you have a dab that is not the dynamic dab image from the options menu it should just show the predefined brushes or the custom brush icon.

You can also check or change the name of the brush and save the brush itsellf. Maybe for space issues those buttons could be icons rather than textbuttons.

While that takes care of everything brush tip related ,it might be a good idea to find a solution for dynamics as well.


http://tinypic.com/view.php?pic=5uh8bp&s=6

As far as I can see it everything can be shown or adjusted to fit into this.
It takes care of all the curves (or sometimes just a few check options)

The dropdown takes care of all the changing options based on brush engine. You can check and uncheck in the dropdown. ( http://tinypic.com/view.php?pic=125olko&s=6 )
The fixed 2 columns listing the dynamics is a good quickglance solution to see which ones are active


feedback is welcome
Comment 3 Halla Rempt 2013-06-20 13:38:13 UTC
Thanks for the input. It would make sense indeed.
Comment 4 vascoalexander 2013-09-04 18:15:58 UTC
Some thoughts and Feedback on this Feature Request:

- Some options of the Brush Creation Dialog should be in the Default UI but not for creating new presets, but for adjusting existing ones dynamically during the work

-> it is not needed to make the creation of new presets more comfortable. Instead it would decrease the amount of needed presets by giving fast access to the most important brush settings.

As far as possible, it would be good to integrate these settings into the existing UI e.g.:

- color source: gradient in the gradient dialog
- check/uncheck Pattern/Strength in the Pattern Dialog + colour source: pattern/fixed pattern
- Use Opacity Curve/Use Size Curve to the Size/Opacity Sliders

Paintmode, Airbrush Setting, Brushspacing, Quality, Rotation and Aspect should appear in the Tool Options docker. Placing this Settings in another Docker wouldn't be very intuitive in my opinion.

In Addition to this UI changes a new Docker that covers the Sensor Settings/Curves would be interesting. But if i could choose i would prefer a docker that has only the checkboxes to turn a sensor on or off. 

Curves that are adjusted but not activated through the checkbox are saved with a preset. So i could make a preset with some predefined and saved optional settings that could be activated if needed. Manipulating the Curves in the Main UI is nothing i would really use. 

In other words i would prefer having the brush creation window as it is with all settings together and only one purpose - creating new presets. And in addition having some important Settings directly integrated in the main UI for quick access.
Comment 5 Bollebib 2013-09-05 09:36:20 UTC
while I agree on several of your points,I don't agree with all of them.

-yes this is not for creating new presets,but it doesn't hurt to have quick acces to it. Also it can be of benefit of seeing the selected brush name.

-your choices of which settings should be present seems catered to your needs only. It might be far better to provide all choices for everyone. Later one there could maybe still be a way to disable the settings you don't really need. Or to import custom settings in a custom panel. This proposal is for an all purpose,much smaller editor,that trims out the extra's but not regular settings. It would be hard to make a selective choice as any one person would come up with different requitements.

-I'm also not sure of putting this in the tool options docker. This needs a dedicated space,as illustrated in Valeries and my proposal. The options allready in the tool options would be buried.

-Concerning curves this could perhaps be something to toggle on or off as you so choose (based on my mockup) I wouldn't mind that. But I wouldn't take away a vital option like this away and only leave the toggle. That would cripple this idea, as you then have little oversight of what toggling pressure/fuzzy/... actually does. If you have no way of seeing how the curve flows you might be misled as to what effect it will have.


all in all some good points that warrant careful consideration.
Comment 6 Halla Rempt 2016-01-24 16:04:28 UTC
WISHGROUP: Larger Usability Fixes
Comment 7 Halla Rempt 2016-01-24 16:05:01 UTC
After discussion, this a bigger task than just a week or two:

WISHGROUP: Stretchgoal
Comment 8 Halla Rempt 2018-09-06 14:58:36 UTC
We put the sliders in the popup, not in a docker. Closing this wish.