[v2.0.0] AgentSettingsPanel 기능 완성 — 서비스·모델·작업폴더·MCP

AgentSettingsPanel.xaml.cs:
- BtnServiceSelector_Click: ServiceSelectorRequested 콜백 실행 (ChatWindow 위임)
- BtnModelSelector_Click: ModelSelectorRequested 콜백 실행 (ChatWindow 위임)
- ServiceSelectorRequested / ModelSelectorRequested / WorkFolderBrowseRequested Action 추가
- LoadFromSettings: UpdateWorkFolder() + BuildMcpServerList() 호출 추가
- LoadFromSettings: PanelWorkFolder 가시성 제어 추가
- UpdateActiveTab: PanelWorkFolder 가시성 제어 추가
- BtnWorkFolderBrowse_Click, UpdateWorkFolder, BuildMcpServerList, McpToggle_Changed 추가
- using System.Linq / using AxCopilot.Models 추가

AgentSettingsPanel.xaml:
- PanelWorkFolder 섹션 추가 (Code 탭 전용 — 폴더 표시 + 탐색 버튼)
- PanelMcpServers 섹션 추가 (도구 관리 뒤, 고급 앞)

ChatWindow.MoodMenu.cs:
- ToggleSettingsPanel(): 패널 열 때 ServiceSelector/ModelSelector/WorkFolder 콜백 연결

빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 08:38:51 +09:00
parent 0e8d58d3aa
commit 23d1534536
3 changed files with 166 additions and 3 deletions

View File

@@ -291,6 +291,44 @@
</Grid>
</StackPanel>
<!-- 작업 폴더 (Code 탭 전용) -->
<StackPanel x:Name="PanelWorkFolder" Visibility="Collapsed" Margin="0,8,0,0">
<Grid Margin="0,0,0,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="작업 폴더" Foreground="{DynamicResource SecondaryText}" FontSize="12"
VerticalAlignment="Center"/>
</Grid>
<Grid Margin="0,0,0,8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Border Background="{DynamicResource HintBackground}" CornerRadius="6" Padding="8,5">
<TextBlock x:Name="TxtWorkFolder" Text="(미지정)" FontSize="11"
Foreground="{DynamicResource SecondaryText}"
TextTrimming="CharacterEllipsis" MaxWidth="170"/>
</Border>
<Border Grid.Column="1" CornerRadius="6" Padding="10,5" Margin="6,0,0,0" Cursor="Hand"
MouseLeftButtonUp="BtnWorkFolderBrowse_Click">
<Border.Style>
<Style TargetType="Border">
<Setter Property="Background" Value="{DynamicResource ItemBackground}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource ItemHoverBackground}"/>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock Text="&#xE838;" FontFamily="Segoe MDL2 Assets" FontSize="12"
Foreground="#FFB74D" VerticalAlignment="Center"/>
</Border>
</Grid>
</StackPanel>
<Border Height="1" Background="{DynamicResource BorderColor}" Margin="0,8,0,16"/>
<!-- ═══ 도구 관리 ═══ -->
@@ -303,6 +341,16 @@
<Border Height="1" Background="{DynamicResource BorderColor}" Margin="0,8,0,16"/>
<!-- ═══ MCP 서버 ═══ -->
<TextBlock Text="MCP 서버" FontSize="13" FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}" Margin="0,0,0,8"/>
<StackPanel x:Name="PanelMcpServers" Margin="0,0,0,8">
<!-- 코드비하인드에서 동적 생성 -->
</StackPanel>
<Border Height="1" Background="{DynamicResource BorderColor}" Margin="0,8,0,16"/>
<!-- ═══ 고급 ═══ -->
<TextBlock Text="고급" FontSize="13" FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}" Margin="0,0,0,8"/>