Condense brush settings areas to one column. Organize brush configuration options. Live Preview options.
Needs ReviewPublic

Authored by scottpetrovic on Oct 2 2018, 6:00 PM.

Details

Reviewers
None
Group Reviewers
Krita
Summary

This work mostly takes a couple of two column areas (pen sensors and auto brush tip areas) and makes them into a one column format. After doing this, a ton of other settings and properties needed to be adjusted.

The final result means a much slimmer brush settings area.

In addition to condensing those areas, I also organized the brush configuration options to its own area. This is located from a pop-out menu on the top right of the settings. Configuration settings are things that aren't necessarily saved to the brush, but affect all brush presets.

The last bit is just allowing the live preview area to be hidden, as well as the height of the widget be adjustable. There was an illustrator I talked with recently over email "Zhille" who requested that the current brush preview is too small for painting brushes.

If you want to see a better break-down of the changs, visit the petrovic/brush-editor-condense branch. That has all this work.

Original wireframes and discussion were done here for this: https://phabricator.kde.org/M137

Test Plan

Switched to the different brush engines and different settings areas. The different settings should be fitting inside.

There are a couple settings that are too long (masked brush - auto tip) so they have a bit of vertical scrolling needed to see a couple options at the bottom.

I tested playing around with the live brush preview with turning it off and on. Then switching the height. I wasn't sure exactly what range people might want, but what I have seemed to work as-is.

If we ever put this thing in a docker, we will have to do some later tweaking with the scrollable area to make sure it re-adjusts correctly, but I think that can wait until a later patch.

Diff Detail

Repository
R37 Krita
Lint
Lint Skipped
Unit
Unit Tests Skipped
scottpetrovic created this revision.Oct 2 2018, 6:00 PM
Restricted Application added a project: Krita. · View Herald TranscriptOct 2 2018, 6:00 PM
scottpetrovic requested review of this revision.Oct 2 2018, 6:00 PM
scottpetrovic edited the summary of this revision. (Show Details)Oct 2 2018, 6:56 PM

Hi, @scottpetrovic!

I've found two small issues:

  1. The new design doesn't fit into my screen height anymore :)

  1. It needs two clicks to activate "brush chooser" now. Is it possible to make it 1-click-activatable somehow?

I also feel that the controls in the "Auto" page look a bit messy. Basically because of "Fade" groupbox. It changes the baseline of sliders, so I get lost easily. It might also be a good idea if we could group items not by group-box, but by adjusting the QLayout's margin field. It looks like the current margin is very high, so we can easily reduce it (and use it for grouping as well).

scottpetrovic added a comment.EditedOct 7 2018, 1:37 PM

@dkazakov - for clarification, can you say what pixel dimensions that screen size is in for your screen shot? Everything is fitting in your screenshot, so I am not sure what you mean. I did think quite a bit about a situation with smaller screens. For people that want to use this that have very small screen, you can adjust or hide the brush stroke preview from the configuration options. That will shrink the height of the brush editor and make it take up less space.

I was instructed that this window needs to show "everything" as much as possible, so that is why the settings are kind of tall. We can make that scrollable area shorter, but there will be more scrolling if that happens.

I agree we eventually need to look at the brush tip settings layout. We probably need to re-design how we want to select and manage those in general. That area with the different tabs and all the auto tip options are getting a bit crazy. I think it has been that way for a while though, so I don't know if we necessarily need to try to solve that issue in this ticket. For the short term, I could move the fade slider stuff to the bottom. That way the different alignments will be grouped better. That would be slightly better.

Hi, Scott!

My display size is 1366x768px. And it basically fits, but it adds a very tiny scroll bar at the brush settings area:

. I have a feeling that just reducing margins could resolve the issue.

@dkazakov - ahh thanks for the clarification. The hard part with this widget is everything is inside a QStackedWidget. The way that works, the vertical height is determined based off the largest setting area. The largest setting area I found across all settings is the "auto brush masked brush tip". That has an extra options for blending mode which is how it gets that final height.

It would be nice if the stackedwidget would collapse based off the active setting. When a brush loads, it loads all setting areas and stores them into the QStackedWidget.

We can tweak the margin a bit, but I think the real issue is the way the QStackedWidget calculates its size. Maybe there is a way around it, but this was the best compromise I could do for now

Hi, @scottpetrovic!

It would be nice if the stackedwidget would collapse based off the active setting. When a brush loads, it loads all setting areas and stores them into the QStackedWidget.

I'm afraid calculation of the needed area on loading is exactly how QStackedWidget was designed :(

We can tweak the margin a bit, but I think the real issue is the way the QStackedWidget calculates its size. Maybe there is a way around it, but this was the best compromise I could do for now

Well, if we fix QStackedWidget, then the scrollbars will still appear on screen. I guess we should just define maximum popup height to something like 768 pixels and try to condense it to that height.

I guess we have at least two things we can easily sacrifice:

  1. Remove QGroupBox around the two "Fade" sliders
  2. Remove "Fade" label and move it into the slider itself, like "Fade Horizontally: XXX%"