diff --git a/README.md b/README.md index cfd76cf..e283a27 100644 --- a/README.md +++ b/README.md @@ -1452,3 +1452,6 @@ MIT License - Cowork/Code 진행 카드의 경과 시간 계산을 보정했습니다. 스트리밍 시작 시각이 준비되기 전에 진행 힌트가 먼저 그려질 때 `수천만 시간`처럼 비정상값이 표시되던 문제를 막고, 6시간을 넘는 비현실적인 경과 시간은 자동 무시하도록 정리했습니다. - AX Agent 입력창 글로우를 런처와 같은 리듬의 무지개 글로우로 다시 맞췄습니다. 글로우 외곽선 두께와 블러를 부드럽게 조정하고, 라이브 진행 카드도 테마 AccentColor 기반의 은은한 톤을 써서 주황색 고정 느낌을 줄였습니다. - 일반 설정에 있던 `런처 무지개 글로우`, `선택 아이템 글로우`, `채팅 입력창 무지개 글로우`를 AX Agent 내부 설정으로 이동해, 이제 내부 설정에서 바로 런처/입력창 글로우를 함께 조정할 수 있습니다. +- 업데이트: 2026-04-07 02:56 (KST) + - AX Agent 내부 설정 개발자 탭의 `워크플로우 시각화`가 숨은 개발자 모드 의존 때문에 실제로 창을 띄우지 않던 문제를 수정했습니다. 이제 토글을 켜면 즉시 워크플로우 분석기 창이 열리고, 끄면 창이 숨겨집니다. + - 일반 설정에만 남아 있던 `문서 미리보기 자동 표시` 옵션을 AX Agent 내부 설정 공통 탭에도 복원해, Cowork/Code에서 프리뷰 자동 열기 정책을 내부 설정에서 바로 바꿀 수 있게 했습니다. diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index dfe3d6a..cc636a8 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -5302,3 +5302,12 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎. - AX Agent 내부 설정 공통 탭에 `글로우 효과` 섹션을 추가해 런처 무지개 글로우, 런처 선택 글로우, 채팅 입력창 글로우를 내부 설정에서 바로 조정할 수 있게 했다. - [SettingsWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/SettingsWindow.xaml) - 일반 설정 테마 섹션에 있던 런처/채팅 글로우 토글 3종을 제거해 AX Agent 내부 설정으로 UI를 일원화했다. + +## 2026-04-07 02:56 (KST) + +- [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) + - `워크플로우 시각화`가 `DevMode`에 묶여 토글을 켜도 실제 분석기 창이 열리지 않던 의존을 제거했다. + - 설정 저장 후 `SyncWorkflowVisualizerWindow()`를 호출해, 토글을 켜면 분석기 창이 바로 열리고 끄면 즉시 숨겨지도록 연결했다. + - 내부 설정 공통 탭의 자동 프리뷰 콤보 값을 `Llm.AutoPreview`와 동기화하고, 변경 시 바로 저장되도록 `CmbOverlayAutoPreview_SelectionChanged`를 추가했다. +- [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml) + - AX Agent 내부 설정 공통 탭에 `문서 미리보기` 콤보를 추가해 `자동 표시 / 수동 / 비활성화`를 내부 설정에서 직접 제어할 수 있게 했다. diff --git a/src/AxCopilot/Views/ChatWindow.xaml b/src/AxCopilot/Views/ChatWindow.xaml index 9bd7b67..835f9c5 100644 --- a/src/AxCopilot/Views/ChatWindow.xaml +++ b/src/AxCopilot/Views/ChatWindow.xaml @@ -3507,6 +3507,31 @@ Style="{StaticResource OverlayComboBox}" SelectionChanged="CmbOverlayDefaultMood_SelectionChanged"/> + + + + + + + + + + + + + + + diff --git a/src/AxCopilot/Views/ChatWindow.xaml.cs b/src/AxCopilot/Views/ChatWindow.xaml.cs index 3c7b5cb..239d9a2 100644 --- a/src/AxCopilot/Views/ChatWindow.xaml.cs +++ b/src/AxCopilot/Views/ChatWindow.xaml.cs @@ -6229,7 +6229,7 @@ public partial class ChatWindow : Window private void OpenWorkflowAnalyzerIfEnabled() { var llm = _settings.Settings.Llm; - if (!llm.DevMode || !llm.WorkflowVisualizer) return; + if (!llm.WorkflowVisualizer) return; if (_analyzerWindow == null) { @@ -6266,10 +6266,23 @@ public partial class ChatWindow : Window private void UpdateAnalyzerButtonVisibility() { var llm = _settings.Settings.Llm; - BtnShowAnalyzer.Visibility = (llm.DevMode && llm.WorkflowVisualizer) + BtnShowAnalyzer.Visibility = llm.WorkflowVisualizer ? Visibility.Visible : Visibility.Collapsed; } + private void SyncWorkflowVisualizerWindow() + { + UpdateAnalyzerButtonVisibility(); + if (_settings.Settings.Llm.WorkflowVisualizer) + { + OpenWorkflowAnalyzerIfEnabled(); + } + else if (_analyzerWindow != null && _analyzerWindow.IsVisible) + { + _analyzerWindow.Hide(); + } + } + /// 워크플로우 분석기 창을 수동으로 열거나 포커스합니다 (하단 바 버튼). private void BtnShowAnalyzer_Click(object sender, MouseButtonEventArgs e) { @@ -10314,6 +10327,7 @@ public partial class ChatWindow : Window ApplyAgentThemeResources(); UpdatePermissionUI(); UpdateDataUsageUI(); + SyncWorkflowVisualizerWindow(); SaveConversationSettings(); RefreshInlineSettingsPanel(); UpdateModelLabel(); @@ -11203,6 +11217,8 @@ public partial class ChatWindow : Window OverlayDefaultOutputFormatRow.Visibility = showCowork ? Visibility.Visible : Visibility.Collapsed; if (OverlayDefaultMoodRow != null) OverlayDefaultMoodRow.Visibility = showCowork ? Visibility.Visible : Visibility.Collapsed; + if (OverlayAutoPreviewRow != null) + OverlayAutoPreviewRow.Visibility = showShared ? Visibility.Visible : Visibility.Collapsed; if (OverlayPdfExportPathRow != null) OverlayPdfExportPathRow.Visibility = showChat ? Visibility.Visible : Visibility.Collapsed; if (OverlayToggleImageInput != null) @@ -12583,6 +12599,7 @@ public partial class ChatWindow : Window SelectComboTag(CmbOverlayFastMode, llm.FreeTierMode ? "on" : "off"); SelectComboTag(CmbOverlayDefaultOutputFormat, llm.DefaultOutputFormat ?? "auto"); SelectComboTag(CmbOverlayDefaultMood, _selectedMood ?? llm.DefaultMood ?? "modern"); + SelectComboTag(CmbOverlayAutoPreview, llm.AutoPreview ?? "off"); SelectComboTag(CmbOverlayAgentLogLevel, llm.AgentLogLevel ?? "simple"); UpdateDataUsageUI(); } @@ -13090,6 +13107,15 @@ public partial class ChatWindow : Window PersistOverlaySettingsState(refreshOverlayDeferredInputs: false); } + private void CmbOverlayAutoPreview_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + if (_isOverlaySettingsSyncing || CmbOverlayAutoPreview.SelectedItem is not ComboBoxItem selected || selected.Tag is not string tag) + return; + + _settings.Settings.Llm.AutoPreview = tag; + PersistOverlaySettingsState(refreshOverlayDeferredInputs: false); + } + private void CmbOverlayOperationMode_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (_isOverlaySettingsSyncing || CmbOverlayOperationMode.SelectedItem is not ComboBoxItem selected || selected.Tag is not string tag)