AX Agent 공통 설정 섹션 순서 재정리 및 운영 모드 하단 배치
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
- 내부 설정 공통 탭에서 서비스와 모델 바로 아래에 등록 모델 관리를 배치해 모델 관리 흐름을 연속되게 정리함 - 운영 모드를 대화 관리와 저장 공간 영역 아래로 이동하고 섹션 구분선을 다시 맞춰 가독성을 개선함 - 공통 탭의 섹션 그룹이 실제 사용 순서와 더 가깝게 보이도록 XAML 레이아웃을 정리함 - README와 DEVELOPMENT 문서에 로컬 시각 기준 변경 이력과 목적을 기록함 - 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0, 오류 0)
This commit is contained in:
@@ -1252,3 +1252,6 @@ MIT License
|
||||
- AX Agent 창을 PC에서 드래그로 이동할 때 버벅이던 문제를 줄이기 위해 [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs)에 `WM_ENTERSIZEMOVE` / `WM_EXITSIZEMOVE` 기반 이동·리사이즈 감지를 추가했다.
|
||||
- 이동/리사이즈 루프 중에는 창 루트를 `BitmapCache`로 묶고, `SizeChanged`에 연결돼 있던 `UpdateTopicPresetScrollMode()`, `UpdateResponsiveChatLayout()`, `RenderMessages()` 재계산은 잠시 지연시킨 뒤 루프 종료 시 한 번만 반영하도록 바꿨다.
|
||||
- 이 변경으로 창을 끌 때마다 무거운 transcript/레이아웃이 반복 갱신되던 경로를 줄여, AX Agent 창 이동 체감 속도를 개선했다.
|
||||
- 업데이트: 2026-04-06 15:35 (KST)
|
||||
- AX Agent 내부 설정 공통 탭의 섹션 순서를 다시 정리했다. [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml) 에서 `서비스와 모델` 바로 아래에 `등록 모델 관리`를 연달아 배치해 흐름을 자연스럽게 맞췄다.
|
||||
- `운영 모드`는 `대화 관리 / 대화 보관 기간 / 저장 공간` 아래쪽으로 이동시키고, 섹션 경계도 다시 `BorderThickness="0,0,0,1"` 기반으로 정리해 구분선이 끊기지 않도록 맞췄다.
|
||||
|
||||
@@ -4962,3 +4962,5 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
|
||||
- Document update: 2026-04-06 14:06 (KST) - Updated the registered-model schema and UI surfaces to expose the new auth mode. `AppSettings.cs`, `SettingsViewModel.cs`, `ModelRegistrationDialog.cs`, and the AX Agent overlay model list in `ChatWindow.xaml.cs` now save/display `IBM IAM` alongside existing `Bearer` and `CP4D` modes.
|
||||
- Document update: 2026-04-06 15:26 (KST) - Improved AX Agent window drag performance by handling `WM_ENTERSIZEMOVE` / `WM_EXITSIZEMOVE` in `ChatWindow.xaml.cs`. The window now enters a lightweight move-size mode while being dragged or resized.
|
||||
- Document update: 2026-04-06 15:26 (KST) - During move-size loops the root visual is temporarily cached with `BitmapCache`, and the expensive `UpdateTopicPresetScrollMode()`, `UpdateResponsiveChatLayout()`, and `RenderMessages()` refresh path is deferred until the move/resize operation ends. This reduces the “heavy” feeling when moving the AX Agent window on desktop PCs.
|
||||
- Document update: 2026-04-06 15:35 (KST) - Reordered the AX Agent internal-settings common tab in `ChatWindow.xaml` so `서비스와 모델` and `등록 모델 관리` now appear consecutively. This matches the actual model-management flow more closely.
|
||||
- Document update: 2026-04-06 15:35 (KST) - Moved the `운영 모드` chooser below the conversation management/storage area and restored section separators around the moved blocks so the common-tab layout reads in clearer grouped sections.
|
||||
|
||||
@@ -2949,6 +2949,55 @@
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border x:Name="OverlaySectionRegisteredModels"
|
||||
Background="Transparent"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="0,0,0,1"
|
||||
CornerRadius="0"
|
||||
Padding="0,0,0,12"
|
||||
Margin="0,0,0,10">
|
||||
<StackPanel x:Name="OverlayModelEditorPanel">
|
||||
<TextBlock Text="사내 서비스는 등록한 모델 중에서 선택하고, 여기서 바로 추가/편집할 수 있습니다."
|
||||
FontSize="11"
|
||||
TextWrapping="Wrap"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
Margin="0,4,0,8"/>
|
||||
<Grid x:Name="OverlayRegisteredModelsHeader"
|
||||
Margin="0,6,0,8">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="등록 모델 관리"
|
||||
FontSize="11.5"
|
||||
FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
<Button x:Name="BtnOverlayAddModel"
|
||||
Grid.Column="1"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
MinHeight="28"
|
||||
Padding="10,4"
|
||||
Click="BtnOverlayAddModel_Click">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text=""
|
||||
FontFamily="Segoe MDL2 Assets"
|
||||
FontSize="11"
|
||||
Foreground="{DynamicResource AccentColor}"
|
||||
Margin="0,0,5,0"
|
||||
VerticalAlignment="Center"/>
|
||||
<TextBlock Text="모델 추가"
|
||||
FontSize="11.5"
|
||||
Foreground="{DynamicResource AccentColor}"
|
||||
VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</Grid>
|
||||
<StackPanel x:Name="OverlayRegisteredModelsPanel"
|
||||
Margin="0,0,0,8"/>
|
||||
<TextBox x:Name="TxtOverlayModelInput" Visibility="Collapsed"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border x:Name="OverlaySectionQuick"
|
||||
Background="Transparent"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
@@ -3347,6 +3396,50 @@
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Border x:Name="OverlaySectionOperationMode"
|
||||
Background="Transparent"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="0,0,0,1"
|
||||
CornerRadius="0"
|
||||
Padding="0,0,0,12"
|
||||
Margin="0,0,0,10">
|
||||
<Grid x:Name="OverlayAnchorPermission">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
||||
<TextBlock Text="운영 모드"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
<Border Style="{StaticResource OverlayHelpBadge}">
|
||||
<TextBlock Text="?"
|
||||
FontSize="10"
|
||||
FontWeight="Bold"
|
||||
Foreground="{DynamicResource AccentColor}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
<Border.ToolTip>
|
||||
<ToolTip Style="{StaticResource HelpTooltipStyle}">
|
||||
<TextBlock TextWrapping="Wrap"
|
||||
Foreground="White"
|
||||
FontSize="12"
|
||||
LineHeight="18"
|
||||
MaxWidth="280">사내 모드는 외부 검색, 외부 URL 열기, 외부 호출을 더 강하게 제한합니다. 사외 모드는 외부 서비스와 웹 작업까지 허용하는 확장 모드입니다.</TextBlock>
|
||||
</ToolTip>
|
||||
</Border.ToolTip>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
<ComboBox x:Name="CmbOverlayOperationMode"
|
||||
Grid.Column="1"
|
||||
MinWidth="140"
|
||||
Style="{StaticResource OverlayComboBox}"
|
||||
SelectionChanged="CmbOverlayOperationMode_SelectionChanged">
|
||||
<ComboBoxItem Content="모드 · 사내 모드" Tag="internal"/>
|
||||
<ComboBoxItem Content="모드 · 사외 모드" Tag="external"/>
|
||||
</ComboBox>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Border x:Name="OverlayToggleImageInput" Style="{StaticResource OverlayAdvancedToggleRowStyle}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
@@ -3389,84 +3482,6 @@
|
||||
Style="{StaticResource ToggleSwitch}"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
<StackPanel x:Name="OverlayModelEditorPanel">
|
||||
<TextBlock Text="사내 서비스는 등록한 모델 중에서 선택하고, 여기서 바로 추가/편집할 수 있습니다."
|
||||
FontSize="11"
|
||||
TextWrapping="Wrap"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
Margin="0,4,0,8"/>
|
||||
<Grid x:Name="OverlayRegisteredModelsHeader"
|
||||
Margin="0,6,0,8">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="등록 모델 관리"
|
||||
FontSize="11.5"
|
||||
FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
<Button x:Name="BtnOverlayAddModel"
|
||||
Grid.Column="1"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
MinHeight="28"
|
||||
Padding="10,4"
|
||||
Click="BtnOverlayAddModel_Click">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text=""
|
||||
FontFamily="Segoe MDL2 Assets"
|
||||
FontSize="11"
|
||||
Foreground="{DynamicResource AccentColor}"
|
||||
Margin="0,0,5,0"
|
||||
VerticalAlignment="Center"/>
|
||||
<TextBlock Text="모델 추가"
|
||||
FontSize="11.5"
|
||||
Foreground="{DynamicResource AccentColor}"
|
||||
VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</Grid>
|
||||
<StackPanel x:Name="OverlayRegisteredModelsPanel"
|
||||
Margin="0,0,0,8"/>
|
||||
<TextBox x:Name="TxtOverlayModelInput" Visibility="Collapsed"/>
|
||||
</StackPanel>
|
||||
<Grid x:Name="OverlayAnchorPermission" Margin="12,12,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
||||
<TextBlock Text="운영 모드"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
<Border Style="{StaticResource OverlayHelpBadge}">
|
||||
<TextBlock Text="?"
|
||||
FontSize="10"
|
||||
FontWeight="Bold"
|
||||
Foreground="{DynamicResource AccentColor}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
<Border.ToolTip>
|
||||
<ToolTip Style="{StaticResource HelpTooltipStyle}">
|
||||
<TextBlock TextWrapping="Wrap"
|
||||
Foreground="White"
|
||||
FontSize="12"
|
||||
LineHeight="18"
|
||||
MaxWidth="280">사내 모드는 외부 검색, 외부 URL 열기, 외부 호출을 더 강하게 제한합니다. 사외 모드는 외부 서비스와 웹 작업까지 허용하는 확장 모드입니다.</TextBlock>
|
||||
</ToolTip>
|
||||
</Border.ToolTip>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
<ComboBox x:Name="CmbOverlayOperationMode"
|
||||
Grid.Column="1"
|
||||
MinWidth="140"
|
||||
Style="{StaticResource OverlayComboBox}"
|
||||
SelectionChanged="CmbOverlayOperationMode_SelectionChanged">
|
||||
<ComboBoxItem Content="모드 · 사내 모드" Tag="internal"/>
|
||||
<ComboBoxItem Content="모드 · 사외 모드" Tag="external"/>
|
||||
</ComboBox>
|
||||
</Grid>
|
||||
|
||||
<Grid x:Name="OverlayTlsRow" Visibility="Collapsed" Margin="0,0,0,0">
|
||||
<CheckBox x:Name="OverlayHiddenTlsToggle" Visibility="Collapsed"/>
|
||||
</Grid>
|
||||
|
||||
Reference in New Issue
Block a user