[Phase 39] FontFamily 캐싱 + LauncherWindow 파셜 클래스 분할
- ThemeResourceHelper에 CascadiaCode/ConsolasCode/ConsolasCourierNew 정적 필드 추가 - 25개 파일, 89개 new FontFamily(...) 호출을 정적 캐시 참조로 교체 - LauncherWindow.xaml.cs (1,563줄) → 5개 파셜 파일로 분할 (63% 감소) - LauncherWindow.Theme.cs (116줄): ApplyTheme, 커스텀 딕셔너리 빌드 - LauncherWindow.Animations.cs (153줄): 무지개 글로우, 애니메이션 헬퍼 - LauncherWindow.Keyboard.cs (593줄): 단축키 20종, ShowToast, IME 검색 - LauncherWindow.Shell.cs (177줄): Shell32, SendToRecycleBin, 클릭 핸들러 - 빌드: 경고 0, 오류 0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4554,5 +4554,35 @@ Week 8: [23] AutoCompact + isEnabled + 최종 검증
|
||||
|
||||
---
|
||||
|
||||
최종 업데이트: 2026-04-03 (Phase 22~38 구현 완료 — CC 동등성 37/37 + 코드 품질 리팩터링 6차)
|
||||
## Phase 39 — FontFamily 캐싱 + LauncherWindow 파셜 분할 (v2.3) ✅ 완료
|
||||
|
||||
> **목표**: 89개 `new FontFamily(...)` 반복 생성 제거 + LauncherWindow 파셜 분할.
|
||||
|
||||
### FontFamily 캐싱 (25개 파일)
|
||||
|
||||
ThemeResourceHelper에 5개 정적 필드 추가:
|
||||
- `SegoeMdl2` — `new FontFamily("Segoe MDL2 Assets")` (기존)
|
||||
- `Consolas` — `new FontFamily("Consolas")` (기존)
|
||||
- `CascadiaCode` — `new FontFamily("Cascadia Code, Consolas, monospace")` (신규)
|
||||
- `ConsolasCode` — `new FontFamily("Consolas, Cascadia Code, Segoe UI")` (신규)
|
||||
- `ConsolasCourierNew` — `new FontFamily("Consolas, Courier New")` (신규)
|
||||
|
||||
총 89개 `new FontFamily(...)` 호출 → 정적 캐시 필드 참조로 교체 (25개 파일)
|
||||
|
||||
### LauncherWindow 파셜 분할
|
||||
|
||||
| 파일 | 줄 수 | 내용 |
|
||||
|------|-------|------|
|
||||
| `LauncherWindow.xaml.cs` (메인) | 578 | Win32 P/Invoke, 생성자, Show(), 아이콘 20종 애니메이션 |
|
||||
| `LauncherWindow.Theme.cs` | 116 | ApplyTheme, 테마 빌드, BuildCustomDictionary, IsSystemDarkMode |
|
||||
| `LauncherWindow.Animations.cs` | 153 | 무지개 글로우, 애니메이션 헬퍼, CenterOnScreen, AnimateIn |
|
||||
| `LauncherWindow.Keyboard.cs` | 593 | IME 검색, PreviewKeyDown, KeyDown 20여 단축키, ShowToast |
|
||||
| `LauncherWindow.Shell.cs` | 177 | Shell32 P/Invoke, SendToRecycleBin, ShowLargeType, 클릭 핸들러 |
|
||||
|
||||
- **메인 파일**: 1,563줄 → 578줄 (**63.0% 감소**)
|
||||
- **빌드**: 경고 0, 오류 0
|
||||
|
||||
---
|
||||
|
||||
최종 업데이트: 2026-04-03 (Phase 22~39 구현 완료 — CC 동등성 37/37 + 코드 품질 리팩터링 7차)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user