lacvet
dab633edd5
[Phase L6] 런처 워크플로우 자동화 확장 완료
MacroEntry/MacroStep 모델 (AppSettings.Models.cs):
- MacroEntry: Id, Name, Description, Steps, CreatedAt
- MacroStep: Type(app/url/folder/notification/cmd), Target, Args, Label, DelayMs
- AppSettings.Macros List<MacroEntry> 추가
Handlers/MacroHandler.cs (170줄 신규):
- prefix=macro, 서브커맨드: new/edit/del/play
- 목록: 단계 미리보기(최대 3단계) 표시
- 재생: Process.Start + 알림 + PowerShell 순서 실행
Views/MacroEditorWindow.xaml (135줄 신규):
- 이름/설명 입력, 열 헤더(유형/대상/표시이름/딜레이)
- 동적 행 ScrollViewer + 하단 단계 추가/저장 버튼
Views/MacroEditorWindow.xaml.cs (230줄 신규):
- StepRowUi 내부 클래스: Grid+TypeButton+TargetBox+LabelBox+DelayBox
- 공유 Popup 타입 선택기(5종): PlacementTarget 동적 설정
- BtnSave: 빈 Target 행 필터링 후 MacroEntry 저장
Handlers/ContextHandler.cs (185줄 신규):
- prefix=ctx, GetForegroundWindow P/Invoke 프로세스 감지
- 5개 컨텍스트 규칙(웹/코드/오피스/탐색기/커뮤니케이션) → 상황별 제안
- Enter 시 Views.LauncherWindow.SetInputText(prefix) 호출
ScheduleEntry 조건 필드 (AppSettings.Models.cs):
- ConditionProcess: 프로세스 이름 (비어있으면 조건 없음)
- ConditionProcessMustRun: true=실행중, false=비실행중
Services/SchedulerService.cs:
- ShouldFire() 확장: Process.GetProcessesByName() 조건 체크
Views/ScheduleEditorWindow.xaml / .cs:
- 조건 섹션 UI: 프로세스명 TextBox + 실행중/비실행중 세그먼트
- LoadFromEntry/BtnSave_Click 조건 필드 연동
App.xaml.cs:
- Phase L6-2 MacroHandler(settings) 등록
- Phase L6-3 ContextHandler() 등록
docs/LAUNCHER_ROADMAP.md:
- Phase L6 섹션 추가 (L6-1~4 전체 ✅)
빌드: 경고 0, 오류 0
2026-04-04 13:24:41 +09:00
..
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-04 02:12:21 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-04 02:12:21 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-04 13:24:41 +09:00
2026-04-03 18:23:52 +09:00
2026-04-04 09:49:44 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00
2026-04-03 18:23:52 +09:00