mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-11-10 00:48:45 +00:00
Eliminate brittle platform-specific branching and the incomplete host-platform OS behaviour API, replacing them with a unified layout model where window frames, titles, and controls derive entirely from the active theme, with platform variants selected through a private function. * CPApplication.j: - Remove setOSBehavior:, OSBehavior, shouldMimicWindows, and simulatesWindows accessors, along with associated Info.plist keys and user defaults. - Set default theme selection through _CPThemeVariant. * CPApplication_Constants.j: Remove OS behaviour constants, dictionary, and notification. * CPCompatibility.j: Add _CPBrowserOperatingSystem to return the detected host operating system. * CPTheme.j: Remove CPThemeStateWindowsPlatform; add _CPThemeVariant to return the base theme. * CPWindow.j: Remove the _close delegation to the window view. * _CPStandardWindowView.j: - Remove OS behaviour observer, _close, and _osBehaviorDidChange:. - Position buttons and title using theme values during layout, applying fallback defaults when theme values are absent. - Read title bar and sheet values from the view's active theme rather than the default theme. * _CPTitleableWindowView.j: Query title-margin dynamically during layout instead of caching.