Skip to content

Designer: simplify the section editor, and Americanize the plugin's prose - #22

Merged
ZombieHDGaming merged 1 commit into
masterfrom
claude/credits-designer-ui-updates-ld5b0w
Sep 2, 2026
Merged

Designer: simplify the section editor, and Americanize the plugin's prose#22
ZombieHDGaming merged 1 commit into
masterfrom
claude/credits-designer-ui-updates-ld5b0w

Conversation

@ZombieHDGaming

Copy link
Copy Markdown
Contributor

Nine changes to the Credits Designer, plus a repo-wide spelling and punctuation sweep.

Editor behavior

The "Show every setting" switch is gone. With the settings already dealt out into four tabs of folding groups, a second axis of hiding only meant a setting somebody could see the name of but not find. markAdvanced/advancedRows are removed and setRowVisible is now the section type's answer and nothing else's. All sixteen formerly-held-back rows were already set explicitly further down applyTypeVisibility, so nothing changes about when a row applies -- only that it is never additionally hidden.

Every group opens folded. CollapsibleGroup now starts unchecked, so a tab reads as a table of contents for what the selected type offers. The fold stays per group and per window: unfolding one keeps it unfolded as the reader moves down the section list, and nothing about it touches the document. A checkable group's checkbox is untouched -- starting folded says nothing about whether the settings inside apply.

Adding or duplicating a section asks what it is called. A roll of forty sections is read by its list, and the name field sat three rows into the editor where it was easy to never meet. Picking a type from the + menu now opens a naming dialog prefilled with the type's name; Duplicate opens the same dialog prefilled with <name> copy. The name is optional -- an empty answer falls back to the section naming itself after what it holds, exactly as before -- and the List Label field stays in the editor for changing the answer later. Cancel adds nothing, and the prompt runs before beginUndoStep() so backing out leaves the undo stack as the menu found it.

Labels

Setting Before After
Column Widths "Fixed columns, bridge starts at the same place every row" / "Each side only as wide as its own text" "Fixed Column" / "Dynamic Column"
Bridge Fill "Draw it once, at its own width" / "Repeat it to fill the gap" / "Stretch one copy across the gap" "Draw Once" / "Repeat" / "Stretch Across Gap"
Fill Order "Down each column, then across" / "Across each row, then down" "Down First" / "Across First"
"This List Holds" "One line each" / "A line and a smaller one under it" / "Images" "List Type": "Title" / "Title and Subtitle" / "Image"
Group title "Placement on the Canvas" "Canvas Placement"

The four option sets whose old labels were self-explaining keep that explanation in a new tooltip on the row, so nothing a user could previously read off the screen is lost.

Spelling and punctuation

American spelling throughout the plugin -- UI strings, code comments and C++ identifiers alike. ColourButton is ColorButton, dividerCentre is dividerCenter, makeLabelledButton is makeLabeledButton, and so on through colour/centre/licence/behaviour/honour/neighbour/grey/travelled/labelled/modelled/panelled/dialled/marshalling and the -ise/-isation families. Em dashes, en dashes and curly quotes are flattened to ASCII in src/ and data/; the arrows, degree sign and the Remove button's minus glyph are kept, being icons rather than punctuation. The developer docs take the spelling change so they keep naming the identifiers correctly, and keep their own prose punctuation.

One British spelling is deliberately left in place: the obs_data key "divider_centre". It is what every already-saved scene collection holds, and renaming it would silently drop the middle of every divider in them. Both the save and the load carry a comment saying so.

Verification

  • cmake --build build clean, including the full Qt plugin target (not just the test harness).
  • ctest green -- 12 suites, no failures.
  • clang-format 19 (the version CI uses) reports no violations across all 63 changed files. This also fixes two pre-existing violations in files the sweep touched, src/ui/PreviewWidget.cpp and tests/suites/SectionTypes.cpp.
  • Locale keys cross-checked against every moduleText/obs_module_text call site: no key renamed on one side only.
  • Every word the sweep newly introduced was reviewed by diffing the word sets before and after, which is how a first pass turning centred into centerd rather than centered was caught.

Not verified: the dialogs themselves on screen. This session has no display, so the naming modal and the folded groups are verified by compilation and by reading, not by running OBS.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Xjxm6iXRLi9D4FrP5LsMAG


Generated by Claude Code

…rose

Nine changes to the Credits Designer, from a pass over the editor pane.

- Drop the "Show every setting" switch. With the settings dealt out into four
  tabs of folding groups, a second axis of hiding only meant a setting somebody
  could see the name of but not find. Every row now comes and goes with the
  section type alone.
- Every group opens folded. A tab reads as a table of contents for what the
  selected type offers; unfolding one keeps it unfolded for the life of the
  window, so the reader moving down the section list is not refolding the pane.
- Adding or duplicating a section asks what it is called. A roll of forty is
  read by its section list, and the name field was three rows into the editor
  and easy to never meet. The name is optional -- an empty answer falls back to
  naming the section after what it holds, as before -- and the field stays in
  the editor for changing it later. Cancel adds nothing.
- Rename the option labels that read as sentences: Column Widths offers "Fixed
  Column" and "Dynamic Column", Bridge Fill offers "Draw Once", "Repeat" and
  "Stretch Across Gap", Fill Order offers "Down First" and "Across First", and
  "This List Holds" becomes "List Type" offering "Title", "Title and Subtitle"
  and "Image". Each of the four keeps what its old labels explained, in a
  tooltip on the row.
- "Placement on the Canvas" becomes "Canvas Placement".

And a sweep for American spelling and ASCII punctuation across the plugin:
colour/centre/licence/behaviour and the rest in UI strings, comments and
identifiers alike, and em dashes, en dashes and curly quotes flattened to
their ASCII equivalents in src/ and data/. The developer docs take the
spelling so they keep naming the identifiers correctly, and keep their own
prose punctuation.

One British spelling is deliberately left: the obs_data key
"divider_centre". It is what every saved scene collection already holds, and
renaming it would drop the middle of every divider in them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xjxm6iXRLi9D4FrP5LsMAG
@ZombieHDGaming
ZombieHDGaming merged commit 5e22b68 into master Sep 2, 2026
6 checks passed
@ZombieHDGaming
ZombieHDGaming deleted the claude/credits-designer-ui-updates-ld5b0w branch September 2, 2026 23:04
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.

2 participants