내부 설정 스크롤 체감과 저장 공간 버튼 스타일 개선
Some checks failed
Release Gate / gate (push) Has been cancelled

AX Agent 내부 설정 오른쪽 본문 ScrollViewer에 deferred scrolling, vertical panning, bitmap cache를 적용해 스크롤 시 버벅임을 줄였습니다.

저장 공간 섹션의 새로고침, 대화 삭제, 저장 공간 줄이기 버튼을 OverlayActionBtn 커스텀 스타일로 교체해 일반 버튼 느낌을 제거했습니다.

README와 DEVELOPMENT 문서를 2026-04-06 16:39 (KST) 기준으로 갱신했고 Release 빌드 경고 0 오류 0을 확인했습니다.
This commit is contained in:
2026-04-06 16:39:55 +09:00
parent e8cd68cce7
commit a5b511c38b
3 changed files with 55 additions and 6 deletions

View File

@@ -1276,3 +1276,6 @@ MIT License
- 업데이트: 2026-04-06 16:28 (KST)
- 채팅/코워크/코드 입력창의 첨부/전송 버튼을 다시 심플한 컴포저 전용 스타일로 정리했다. [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml)에 `ComposerIconBtn`, `ComposerSendBtn` 스타일을 추가해 버튼 크기를 원복 수준으로 줄이고, 첨부와 전송 모두 상하좌우 중앙 정렬된 단순한 시각 언어를 사용하도록 맞췄다.
- 첨부 버튼은 과하게 커졌던 `48x48`에서 `34x34` 기준으로 줄였고, 전송 버튼도 같은 축의 `36x36` 원형 버튼으로 재구성했다. 전송 아이콘은 과한 MDL2 느낌 대신 단순한 상승 화살표 표현으로 바꿔, 참고 이미지처럼 더 담백한 조합이 되도록 정리했다.
- 업데이트: 2026-04-06 16:39 (KST)
- AX Agent 내부 설정 오른쪽 본문 [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml)의 `ScrollViewer``IsDeferredScrollingEnabled`, `PanningMode`, `BitmapCache`를 적용해 스크롤 시 느껴지던 버벅임을 줄였다.
- `저장 공간` 섹션의 `새로고침`, `대화 삭제`, `저장 공간 줄이기`는 기본 `Button` 대신 오버레이 전용 커스텀 액션 버튼 스타일(`OverlayActionBtn`)로 교체해 내부 설정 전체와 같은 시각 언어를 사용하도록 정리했다.

View File

@@ -4975,3 +4975,5 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- Document update: 2026-04-06 16:20 (KST) - Re-ran the standard verification build after those fixes and restored the zero-warning requirement: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\` now completes with 0 warnings and 0 errors.
- Document update: 2026-04-06 16:28 (KST) - Refined the chat/composer action buttons in `ChatWindow.xaml` by introducing dedicated `ComposerIconBtn` and `ComposerSendBtn` styles. The oversized attachment/send controls were reduced back toward their earlier footprint and given a simpler, more centered visual language.
- Document update: 2026-04-06 16:28 (KST) - The attachment button now uses a compact `34x34` ghost surface and the send button uses a matching `36x36` circular emphasis surface with a centered upward arrow glyph, replacing the larger prior styling and making the footer composer closer to the requested minimal reference.
- Document update: 2026-04-06 16:39 (KST) - Reduced the perceived lag while scrolling the AX Agent internal-settings overlay by enabling deferred scrolling and vertical panning on the right-side settings `ScrollViewer`, and by bitmap-caching the large stacked content block in `ChatWindow.xaml`.
- Document update: 2026-04-06 16:39 (KST) - Replaced the plain storage-management buttons in the internal settings overlay with a new `OverlayActionBtn` style so `새로고침`, `대화 삭제`, and `저장 공간 줄이기` follow the same custom rounded action language as the rest of the AX Agent settings UI.

View File

@@ -161,6 +161,44 @@
<Setter Property="Padding" Value="14,12"/>
<Setter Property="Margin" Value="0,0,0,8"/>
</Style>
<Style x:Key="OverlayActionBtn" TargetType="Button">
<Setter Property="Background" Value="{DynamicResource ItemBackground}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryText}"/>
<Setter Property="BorderBrush" Value="{DynamicResource BorderColor}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="12,7"/>
<Setter Property="Margin" Value="0,0,8,0"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="ActionBorder"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="10"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="True">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"
RecognizesAccessKey="True"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="ActionBorder" Property="Background" Value="{DynamicResource ItemHoverBackground}"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="ActionBorder" Property="Opacity" Value="0.82"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="ActionBorder" Property="Opacity" Value="0.4"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="OverlayHelpBadge" TargetType="Border">
<Setter Property="Width" Value="16"/>
<Setter Property="Height" Value="16"/>
@@ -2609,11 +2647,18 @@
Tag="block"/>
</StackPanel>
</Border>
<ScrollViewer Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
<ScrollViewer x:Name="OverlaySettingsScrollViewer"
Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"
CanContentScroll="False"
PanningMode="VerticalOnly"
IsDeferredScrollingEnabled="True"
Padding="14,14,20,20">
<StackPanel>
<StackPanel.CacheMode>
<BitmapCache RenderAtScale="1"/>
</StackPanel.CacheMode>
<Border x:Name="OverlaySectionHeading"
Background="Transparent"
BorderBrush="{DynamicResource BorderColor}"
@@ -3426,17 +3471,16 @@
VerticalAlignment="Top">
<Button x:Name="BtnOverlayStorageRefresh"
Content="새로고침"
Padding="10,6"
Margin="0,0,8,0"
Style="{StaticResource OverlayActionBtn}"
Click="BtnOverlayStorageRefresh_Click"/>
<Button x:Name="BtnOverlayDeleteAllConversations"
Content="대화 삭제"
Padding="10,6"
Margin="0,0,8,0"
Style="{StaticResource OverlayActionBtn}"
Click="BtnOverlayDeleteAllConversations_Click"/>
<Button x:Name="BtnOverlayStorageCleanup"
Content="저장 공간 줄이기"
Padding="12,6"
Style="{StaticResource OverlayActionBtn}"
Margin="0"
Click="BtnOverlayStorageCleanup_Click"/>
</StackPanel>
</Grid>