Files
qbz/crates/qbz-slint/ui/foundation/theme-state.slint
T
vicrodh 682719cab0 feat(slint): library/sidebar UX overhaul + theme switching + fixes
Shell & navigation:
- Three-state sidebar (open/mini/closed); collapse cycles via header button.
- Section nav as right-flyouts (sidebar) + compact header nav (closed) +
  full header tabs (nav-in-sidebar off), via a shared HeaderMenuOverlay.
- Collapsed-folder right-flyout popup (max 4 + scrollbar), Rust-populated.
- Thin auto-hiding sidebar scrollbar pinned to the edge (Flickable, drag-safe).
- Slack-style bezel: rounded inset content panel over surface-card chrome.
- Header restructure: nav buttons, window-centered search, app menu.

Themes & components:
- Live theme switching: Dark / OLED Black / Tokyo Night / System (std-widgets).
- SegmentedTabBar (Discovery-style) with count badges for Library + Local Library.
- MP3 quality-badge tier (format-first classification) across badges.
- QbzSelect (Group/Sort) trimmed 20px.

Behavior fixes:
- Artist + Local Library Folder cover art now reach the rendered (visible/
  grouped) models, not just the source set.
- Favorites Playlists/Labels random buttons.
- Playlist track click plays from the clicked track in visible order.
- Dropdown idle-close pauses while the cursor rests on the menu.

cc
2026-05-30 15:40:35 -06:00

12 lines
501 B
Plaintext

// Active theme mode — the single switch that swaps the semantic palette.
// Kept in foundation (not state.slint) so semantic-colors.slint can read it
// without a circular import. Set from Settings > Appearance > Theme.
//
// 0 = Dark (default) 1 = OLED Black 2 = Tokyo Night 3 = System
//
// "System" (3) sources colors from the std-widgets Palette (OS light/dark).
// The Appearance dropdown lists only these ported themes.
export global ThemeState {
in-out property <int> mode: 0;
}