a74162e34e
- Bottom-bar resolution dropdown (1080p60/1080p30/720p60/480p30) with tooltip on finding upload bandwidth; disabled while live; no in-app speed test - FocusPreservingListBox keeps selection/focus coherent when a selected scene/source is deleted (skip hidden scenes; leave list when empty) - Themes/Controls.xaml: single dark-theme dictionary merged once in App.xaml; custom ComboBox template fixes SelectionBoxItem rendering; GoLiveWindow and ReuseImageDialog consolidated onto shared styles - AppLog file logger + AppDomain/Dispatcher exception hooks; checkpointed MainWindow/VM/dialog constructors (caught MenuItemRole.Separator XAML crash) - Memory map: schema.md conventions, per-directory index.md, updated ai.md/ TASKS.md/README.md (OAuth creds real; token persistence still pending)
1.2 KiB
1.2 KiB
Themes — index
The single source of the dark UI theme. See schema.md for the
memory-map conventions.
| File | Purpose |
|---|---|
Controls.xaml |
All custom control styles/templates: YtButton, YtButtonSecondary, IconButton, YtTextBox, YtComboBox, scrollbar/slider/tooltip/context-menu/menu-item/separator/list-item (implicit where app-wide), YtListBoxItem, YtLabel, SectionHeader |
How it's wired:
- Merged once in
App.xaml— app-wide. New windows get the theme automatically; do not re-merge per-window. - Palette: window
#1a1a2e, fields#0f3460, borders#2a3a5e, popups#16213e, accent#e94560, hover#26ffffff, text#e0e0e0.
Gotchas learned the hard way:
MenuItemRolehas noSeparatorvalue — separators are standaloneSeparatorcontrols with their own implicit style.- A custom
ComboBoxtemplate must put theContentPresenter(SelectionBoxItem) inside the ComboBox template, not the ToggleButton template — the latter resolves against the wrong TemplatedParent and renders nothing.
Related: Helpers/index.md (custom controls the theme
styles), the XAML files at repo root that consume these styles.