AX Agent 내부 설정의 워크플로우 시각화와 자동 프리뷰를 복구한다\n\n- 개발자 탭의 워크플로우 시각화가 숨은 DevMode 의존 때문에 실제 분석기 창을 띄우지 않던 문제를 수정한다\n- 워크플로우 시각화 토글을 켜면 즉시 창을 열고 끄면 바로 숨기도록 동작을 연결한다\n- 일반 설정에만 남아 있던 문서 미리보기 자동 표시 옵션을 AX Agent 내부 설정 공통 탭에도 복원한다\n- 내부 설정의 자동 프리뷰 콤보를 Llm.AutoPreview와 동기화하고 변경 즉시 저장되도록 연결한다\n- README와 DEVELOPMENT 문서에 변경 내용과 시각을 반영한다\n\n검증 결과\n- dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\\n- 경고 0 / 오류 0
Some checks failed
Release Gate / gate (push) Has been cancelled

This commit is contained in:
2026-04-07 08:58:00 +09:00
parent a686d822e7
commit fbaaf19391
4 changed files with 65 additions and 2 deletions

View File

@@ -3507,6 +3507,31 @@
Style="{StaticResource OverlayComboBox}"
SelectionChanged="CmbOverlayDefaultMood_SelectionChanged"/>
</Grid>
<Grid x:Name="OverlayAutoPreviewRow" Margin="0,0,0,12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel>
<TextBlock Text="문서 미리보기"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="파일 생성 시 오른쪽 프리뷰 패널을 자동으로 열지 정합니다."
Margin="0,4,0,0"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<ComboBox x:Name="CmbOverlayAutoPreview"
Grid.Column="1"
MinWidth="160"
Style="{StaticResource OverlayComboBox}"
SelectionChanged="CmbOverlayAutoPreview_SelectionChanged">
<ComboBoxItem Content="자동 표시" Tag="auto"/>
<ComboBoxItem Content="수동" Tag="manual"/>
<ComboBoxItem Content="비활성화" Tag="off"/>
</ComboBox>
</Grid>
<Grid x:Name="OverlayPdfExportPathRow" Margin="0,0,0,12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>

View File

@@ -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();
}
}
/// <summary>워크플로우 분석기 창을 수동으로 열거나 포커스합니다 (하단 바 버튼).</summary>
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)