Skip to content

Secondary Stats Display: right-aligned values, row spacing, per-stat colors - #1261

Open
labrie75 wants to merge 2 commits into
EllesmereGaming:mainfrom
labrie75:Secondary-Stats-Display
Open

Secondary Stats Display: right-aligned values, row spacing, per-stat colors#1261
labrie75 wants to merge 2 commits into
EllesmereGaming:mainfrom
labrie75:Secondary-Stats-Display

Conversation

@labrie75

@labrie75 labrie75 commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Readability pass on the Secondary Stats overlay, plus a house-style color picker for it.
At a glance:

Area Before After
Value alignment one left-justified FontString; numbers start wherever the label ends label / value columns; values right-aligned
Row spacing lines sit directly on top of each other SetSpacing(3), scaled with the font
Secondary colors class color for everything one hue per stat (gold / green / blue / violet), value colored with its label
Tertiary colors class color unchanged (class color)
Color options one swatch, one-way (no way back to the default) Default / Class Color / Custom Color swatch trio on the row; Class / Custom pair in the cog

Overlay (EllesmereUIQoL.lua)

  • Labels and values split into two columns sharing font/size/spacing; values right-aligned
  • SetSpacing(3) between rows, scaled with the font
  • Default hues: Crit ffd100 / Haste 2ecc71 / Mastery 55aaff / Vers c77dff,
    value colored with its label; tertiaries stay class-colored

Locale label widths differ a lot (see the two screenshots) -- the value column absorbs all of it.

Options (EUI_QoL_Options.lua)

  • Row: Default / Class Color / Custom Color swatch trio, minimap-border style (active one bright, naming tooltips)
  • Cog: tertiary Class Color / Custom Color pair (a multiswatch row)
  • Custom swatch: first click selects custom, second click opens the picker -- so returning to a default is one click

Compatibility

  • Old profiles behave the same: a stored custom color still wins; everything else (position, scale, tertiary toggle, secret-safe values) is untouched
  • No new locale keys -- every label and tooltip reuses existing ones

How was it tested?

Tested in game on the 12.1 PTR with a koKR client: default palette with tertiary rows enabled,
overlay rescaling, and the swatch selectors (switching between Default / Class Color / Custom Color on the row and the tertiary pair in the cog, and picking a custom color, which flips its group to custom).

Values stay right-aligned as the numbers change width and the row gap scales with the font.
No load errors.

Screenshots

Same overlay on an English client (left) and a Korean client (right):

image

Checklist

  • New settings default OFF -- the two color-mode keys default to the previous behavior (unset = old default / stored custom color)
  • Zero cost while disabled -- the section still early-returns when the overlay is off
  • Cheap while enabled -- same update path; one extra FontString, built once
  • No writes onto Blizzard-owned frames -- the addon's own overlay frame only
  • Tested in-game, works on the 12.1 PTR; no load errors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant