Phase 1 Progress - Convert UI Cleanup (dev23): Architecture Improvements: - Add SetSelectedSilent() method to ColoredSelect to prevent callback loops - Create convertUIState manager with setQuality(), setResolution(), setAspect(), setBitratePreset() - Eliminate syncingQuality flag (quality widgets use state manager) - Eliminate syncingAspect flag and syncAspect() function (aspect widgets use state manager) - Eliminate syncingBitratePreset flag (bitrate preset widgets use state manager) Impact: - Sync flags reduced from 5 to 2 (60% reduction) - Automatic widget synchronization (no manual SetSelected calls) - Single source of truth for UI state - Foundation for eliminating remaining sync flags Remaining: syncingBitrate, syncingTargetSize (text entry debouncing needed) Files modified: - internal/ui/components.go (SetSelectedSilent method) - main.go (state manager, widget callbacks) |
||
|---|---|---|
| .. | ||
| app | ||
| benchmark | ||
| convert | ||
| enhancement | ||
| interlace | ||
| logging | ||
| metadata | ||
| modules | ||
| player | ||
| queue | ||
| sysinfo | ||
| thumbnail | ||
| ui | ||
| utils | ||