As of v0.20.0 we have a plethora of approaches to position labels/icons/indicators across widgets.
That's bad from a design, code size, code modularity and extensibility perspective.
Let's unify those.
| Before | After | |
|---|---|---|
| Different values horizontal | 17 | 6 |
| Button | ||
| ButtonGroup/-Select | ||
| TextInput | ||
| Dropdown | ||
| OutlineBookletDialog | ||
| Fullscreen | ||
Orange (coral) signifies the icon/indicator canvas, lightskyblue the label box and aquamarine the padding
Before:
margin-right: 0.25em; padding-left: 2.4em; padding/margin-left/right: 1em left: 1.5em - @size-icon / 2; margin-left: 0.3em; margin-left: @size-indicator / 2; margin-right: -0.275em; left: 0.2em; padding-left: @size-icon + 2 * 0.3em; padding-right: @size-indicator + 2 * 0.775em; margin: 0 0.775em; margin-left: 3em; margin-right: 2em; margin-left: 0.5em; left: @size-icon + 1em; right: @size-indicator + 1.55em - 0.4em + @size-icon + 0.5em; padding-right: @size-indicator + 1.55em;
After:
@padding-horizontal-default @padding-start-input-text-icon @padding-start-input-text-icon-label left: 0.275em (will be removed in follow-up) margin-right: @size-indicator + 2 * @padding-horizontal-default; right: @size-icon + @size-indicator + @padding-horizontal-default;
As a follow-up win, we have position of indicators/icons decoupled from labels and can generalize them across widgets in .oo-ui-widget.
Only point to take care of are widgets higher than one-line then.



