UI/UX 정비: 슬래시 탐색 보강·모델 빠른설정 단일화·권한 포커스 안정화 및 체크리스트 문서화
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
- ChatWindow: 슬래시 팝업 스크롤 입력 개선(ScrollViewer 휠 연결, PageUp/PageDown/Home/End 지원, 고해상도 휠 델타 단계 이동) - ChatWindow: 모델 버튼 클릭 시 AX Agent 내부 빠른 설정 패널 토글로 전환하여 단일 라인 흐름 강화 - ChatWindow: 권한 팝업 오픈 시 재귀 포커스 탐색으로 첫 조작 요소에 안정적으로 진입 - ChatWindow.xaml: 모델/프리셋 버튼 높이·패딩 조정으로 컴포저 상단 밀도 정돈 - 문서: README/DEVELOPMENT 이력 업데이트(2026-04-04 12:11 KST) - 문서: docs/UI_UX_CHECKLIST.md 신규 추가(내부/사외 모드 포함 UI 회귀 시나리오)
This commit is contained in:
@@ -188,23 +188,24 @@
|
||||
Background="{DynamicResource ItemBackground}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="54"/>
|
||||
<RowDefinition Height="52"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="52"/>
|
||||
<RowDefinition Height="50"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- 헤더: 로고 + 새 대화 -->
|
||||
<Grid Grid.Row="0" Margin="16,0">
|
||||
<Grid Grid.Row="0" Margin="14,0">
|
||||
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
||||
<Border Background="{DynamicResource AccentColor}" CornerRadius="6"
|
||||
Width="24" Height="24">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
<TextBlock Text="AX Agent" FontSize="14" FontWeight="Bold"
|
||||
<TextBlock Text="AX Agent" FontSize="13.5" FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center" Margin="10,0,0,0"/>
|
||||
</StackPanel>
|
||||
@@ -219,7 +220,7 @@
|
||||
|
||||
<!-- 검색 -->
|
||||
<Border Grid.Row="1" Background="{DynamicResource HintBackground}"
|
||||
CornerRadius="10" Margin="12,0,12,8" Padding="10,7">
|
||||
CornerRadius="10" Margin="12,0,12,6" Padding="10,6">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
@@ -231,32 +232,17 @@
|
||||
Foreground="{DynamicResource SecondaryText}" VerticalAlignment="Center"/>
|
||||
<TextBox x:Name="SearchBox" Background="Transparent" BorderThickness="0"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
CaretBrush="{DynamicResource AccentColor}" FontSize="12"
|
||||
CaretBrush="{DynamicResource AccentColor}" FontSize="11.5"
|
||||
VerticalAlignment="Center" Margin="22,0,8,0"
|
||||
TextChanged="SearchBox_TextChanged"/>
|
||||
<Button x:Name="BtnFailedOnlyFilter" Grid.Column="1"
|
||||
<Button x:Name="BtnConversationSort" Grid.Column="1"
|
||||
Style="{StaticResource GhostBtn}"
|
||||
Padding="8,3" MinWidth="54"
|
||||
VerticalAlignment="Center"
|
||||
Click="BtnFailedOnlyFilter_Click"
|
||||
ToolTip="실패한 에이전트 실행이 있는 대화만 보기">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="11"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center" Margin="0,0,5,0"/>
|
||||
<TextBlock x:Name="FailedOnlyFilterLabel" Text="실패"
|
||||
FontSize="11" FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button x:Name="BtnConversationSort" Grid.Column="2"
|
||||
Style="{StaticResource GhostBtn}"
|
||||
Padding="8,3" MinWidth="54"
|
||||
Margin="6,0,0,0"
|
||||
Margin="0,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Click="BtnConversationSort_Click"
|
||||
ToolTip="대화 정렬 기준 전환">
|
||||
ToolTip="대화 정렬 기준 전환"
|
||||
Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="11"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
@@ -267,13 +253,15 @@
|
||||
VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button x:Name="BtnRunningOnlyFilter" Grid.Column="3"
|
||||
<Button x:Name="BtnRunningOnlyFilter" Grid.Column="2"
|
||||
Style="{StaticResource GhostBtn}"
|
||||
Padding="8,3" MinWidth="54"
|
||||
Margin="6,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Click="BtnRunningOnlyFilter_Click"
|
||||
ToolTip="현재 실행 중인 대화만 보기">
|
||||
ToolTip="비활성"
|
||||
Visibility="Collapsed"
|
||||
IsEnabled="False">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="11"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
@@ -288,9 +276,9 @@
|
||||
</Border>
|
||||
|
||||
<!-- 카테고리 드롭다운: "모든 주제 ▼" -->
|
||||
<Border Grid.Row="2" Margin="12,0,12,6">
|
||||
<Border Grid.Row="2" Margin="12,0,12,4">
|
||||
<Button x:Name="BtnCategoryDrop" Style="{StaticResource GhostBtn}"
|
||||
HorizontalAlignment="Stretch" Padding="10,6"
|
||||
HorizontalAlignment="Stretch" Padding="10,5"
|
||||
Click="BtnCategoryDrop_Click">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
@@ -299,7 +287,7 @@
|
||||
Foreground="{DynamicResource AccentColor}"
|
||||
VerticalAlignment="Center" Margin="0,0,8,0"/>
|
||||
<TextBlock x:Name="CategoryLabel" Text="모든 주제"
|
||||
FontSize="12" FontWeight="SemiBold"
|
||||
FontSize="11.5" FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
@@ -310,14 +298,118 @@
|
||||
</Button>
|
||||
</Border>
|
||||
|
||||
<!-- 탭별 좌측 메뉴 -->
|
||||
<Border Grid.Row="3" Margin="12,0,12,6"
|
||||
Background="{DynamicResource HintBackground}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="10"
|
||||
Padding="10,8">
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="0,0,0,4">
|
||||
<TextBlock x:Name="SidebarModeBadgeIcon" Text=""
|
||||
FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="{DynamicResource AccentColor}"
|
||||
VerticalAlignment="Center" Margin="0,0,6,0"/>
|
||||
<TextBlock x:Name="SidebarModeBadgeTitle" Text="Chat 메뉴"
|
||||
FontSize="11.5" FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel x:Name="SidebarChatMenu" Visibility="Visible">
|
||||
<Border Cursor="Hand" Background="Transparent" CornerRadius="8"
|
||||
Padding="8,5" Margin="0,0,0,3"
|
||||
MouseLeftButtonUp="SidebarChatAll_MouseLeftButtonUp">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="{DynamicResource AccentColor}" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="1" Text="주제 탐색"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
FontSize="11.5" Margin="8,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="2" Text="" FontFamily="Segoe MDL2 Assets" FontSize="9"
|
||||
Foreground="{DynamicResource SecondaryText}" VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Border x:Name="SidebarChatRunningRow" Cursor="Hand" Background="Transparent" CornerRadius="8"
|
||||
Padding="8,5"
|
||||
MouseLeftButtonUp="SidebarChatRunning_MouseLeftButtonUp"
|
||||
Visibility="Collapsed">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="#22C55E" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="1" Text="진행 중 대화만 보기"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
FontSize="11.5" Margin="8,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="2" x:Name="SidebarChatRunningState" Text="OFF"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
FontSize="11" VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel x:Name="SidebarCoworkMenu" Visibility="Collapsed">
|
||||
<Border Cursor="Hand" Background="Transparent" CornerRadius="8"
|
||||
Padding="8,5" Margin="0,0,0,3"
|
||||
MouseLeftButtonUp="SidebarCoworkCategory_MouseLeftButtonUp">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="#3B82F6" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="1" Text="작업 유형 선택"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
FontSize="11.5" Margin="8,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="2" Text="" FontFamily="Segoe MDL2 Assets" FontSize="9"
|
||||
Foreground="{DynamicResource SecondaryText}" VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel x:Name="SidebarCodeMenu" Visibility="Collapsed">
|
||||
<Border Cursor="Hand" Background="Transparent" CornerRadius="8"
|
||||
Padding="8,5" Margin="0,0,0,3"
|
||||
MouseLeftButtonUp="SidebarCodeCategory_MouseLeftButtonUp">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="#3B82F6" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="1" Text="코드 작업 유형"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
FontSize="11.5" Margin="8,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="2" Text="" FontFamily="Segoe MDL2 Assets" FontSize="9"
|
||||
Foreground="{DynamicResource SecondaryText}" VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<!-- 대화 목록 -->
|
||||
<ScrollViewer Grid.Row="3" VerticalScrollBarVisibility="Auto"
|
||||
<ScrollViewer Grid.Row="4" VerticalScrollBarVisibility="Auto"
|
||||
HorizontalScrollBarVisibility="Disabled">
|
||||
<StackPanel x:Name="ConversationPanel" Margin="6,0"/>
|
||||
<StackPanel x:Name="ConversationPanel" Margin="8,0"/>
|
||||
</ScrollViewer>
|
||||
|
||||
<!-- 하단: 삭제 -->
|
||||
<Border Grid.Row="4" BorderBrush="{DynamicResource SeparatorColor}" BorderThickness="0,1,0,0"
|
||||
<Border Grid.Row="5" BorderBrush="{DynamicResource SeparatorColor}" BorderThickness="0,1,0,0"
|
||||
Padding="0,4">
|
||||
<Button x:Name="BtnDeleteAll" Style="{StaticResource GhostBtn}"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||
@@ -331,11 +423,12 @@
|
||||
</Border>
|
||||
|
||||
<!-- 하단: 사용자 계정 -->
|
||||
<Border Grid.Row="5" Margin="12,0,12,8">
|
||||
<Border Grid.Row="6" Margin="12,0,12,8">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border Grid.Column="0" Width="34" Height="34" CornerRadius="17"
|
||||
Background="{DynamicResource AccentColor}" Margin="0,0,10,0">
|
||||
@@ -349,6 +442,21 @@
|
||||
<TextBlock x:Name="UserPcText" Text="" FontSize="10"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
</StackPanel>
|
||||
<Button x:Name="BtnSidebarSettings"
|
||||
Grid.Column="2"
|
||||
Style="{StaticResource GhostBtn}"
|
||||
Width="32" Height="32"
|
||||
Margin="8,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Click="BtnSettings_Click"
|
||||
ToolTip="AX Agent 설정">
|
||||
<TextBlock Text=""
|
||||
FontFamily="Segoe MDL2 Assets"
|
||||
FontSize="13"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
@@ -408,16 +516,12 @@
|
||||
Margin="0,4,0,0">
|
||||
<Button x:Name="BtnQuickRunningFilter" Style="{StaticResource GhostBtn}"
|
||||
Padding="8,2" Margin="0,0,6,0"
|
||||
Click="BtnQuickRunningFilter_Click">
|
||||
Click="BtnQuickRunningFilter_Click"
|
||||
Visibility="Collapsed"
|
||||
IsEnabled="False">
|
||||
<TextBlock x:Name="QuickRunningLabel" Text="진행"
|
||||
FontSize="10" FontWeight="SemiBold"/>
|
||||
</Button>
|
||||
<Button x:Name="BtnQuickFailedFilter" Style="{StaticResource GhostBtn}"
|
||||
Padding="8,2" Margin="0,0,6,0"
|
||||
Click="BtnQuickFailedFilter_Click">
|
||||
<TextBlock x:Name="QuickFailedLabel" Text="실패"
|
||||
FontSize="10" FontWeight="SemiBold"/>
|
||||
</Button>
|
||||
<Button x:Name="BtnQuickHotSort" Style="{StaticResource GhostBtn}"
|
||||
Padding="8,2"
|
||||
Click="BtnQuickHotSort_Click">
|
||||
@@ -483,6 +587,60 @@
|
||||
Text="0:00" FontSize="10.5"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- ── 상단 권한 알림 배너 ── -->
|
||||
<Border x:Name="PermissionTopBanner"
|
||||
Grid.Row="0" Grid.RowSpan="3"
|
||||
Visibility="Collapsed"
|
||||
Margin="16,94,16,0"
|
||||
VerticalAlignment="Top"
|
||||
Panel.ZIndex="20"
|
||||
Background="{DynamicResource HintBackground}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="10"
|
||||
Padding="10,8">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock x:Name="PermissionTopBannerIcon"
|
||||
Text=""
|
||||
FontFamily="Segoe MDL2 Assets"
|
||||
FontSize="12"
|
||||
Margin="0,0,8,0"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource AccentColor}"/>
|
||||
<StackPanel>
|
||||
<TextBlock x:Name="PermissionTopBannerTitle"
|
||||
Text="현재 권한 모드"
|
||||
FontSize="12"
|
||||
FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}"/>
|
||||
<TextBlock x:Name="PermissionTopBannerText"
|
||||
Text=""
|
||||
FontSize="11"
|
||||
TextWrapping="Wrap"
|
||||
MaxWidth="760"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<Button x:Name="BtnPermissionTopBannerClose"
|
||||
Grid.Column="1"
|
||||
Style="{StaticResource GhostBtn}"
|
||||
Padding="2"
|
||||
Cursor="Hand"
|
||||
Click="BtnPermissionTopBannerClose_Click"
|
||||
ToolTip="닫기">
|
||||
<TextBlock Text=""
|
||||
FontFamily="Segoe MDL2 Assets"
|
||||
FontSize="9"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
@@ -517,14 +675,10 @@
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<!-- 우: 설정 + 최소화 + 최대화 + 닫기 -->
|
||||
<!-- 우: 최소화 + 최대화 + 닫기 -->
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center" Margin="0,0,4,0"
|
||||
WindowChrome.IsHitTestVisibleInChrome="True">
|
||||
<Button Style="{StaticResource GhostBtn}" Click="BtnSettings_Click" ToolTip="설정">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="13"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
</Button>
|
||||
<Button Style="{StaticResource GhostBtn}" Click="BtnMinimize_Click" ToolTip="최소화">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="11"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
@@ -677,8 +831,11 @@
|
||||
AllowsTransparency="True" PopupAnimation="Fade">
|
||||
<Border Background="{DynamicResource LauncherBackground}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1" CornerRadius="12"
|
||||
Padding="6" MinWidth="260">
|
||||
BorderThickness="1" CornerRadius="16"
|
||||
Padding="8" MinWidth="320">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect BlurRadius="18" ShadowDepth="0" Opacity="0.14"/>
|
||||
</Border.Effect>
|
||||
<StackPanel x:Name="PermissionItems" Margin="2"/>
|
||||
</Border>
|
||||
</Popup>
|
||||
@@ -701,65 +858,102 @@
|
||||
PlacementTarget="{Binding ElementName=InputBorder}"
|
||||
Placement="Top" StaysOpen="False"
|
||||
AllowsTransparency="True" PopupAnimation="Fade">
|
||||
<Border Background="{DynamicResource ItemBackground}"
|
||||
<Border Background="{DynamicResource LauncherBackground}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1" CornerRadius="18"
|
||||
Padding="12" MinWidth="560" MaxWidth="820"
|
||||
Padding="0" MinWidth="620" MaxWidth="780"
|
||||
PreviewMouseWheel="SlashPopup_PreviewMouseWheel">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect BlurRadius="20" ShadowDepth="0" Opacity="0.12"/>
|
||||
<DropShadowEffect BlurRadius="16" ShadowDepth="0" Opacity="0.16"/>
|
||||
</Border.Effect>
|
||||
<StackPanel>
|
||||
<StackPanel Margin="8,4,8,8">
|
||||
<TextBlock x:Name="SlashPopupTitle"
|
||||
Text="명령어와 스킬"
|
||||
FontSize="13" FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}"/>
|
||||
<TextBlock x:Name="SlashPopupHint"
|
||||
Text="/ 로 빠른 명령과 스킬을 실행할 수 있습니다"
|
||||
FontSize="11"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
Margin="0,3,0,0"/>
|
||||
</StackPanel>
|
||||
<!-- 위 화살표 -->
|
||||
<Border x:Name="SlashNavUp" Visibility="Collapsed" Cursor="Hand"
|
||||
CornerRadius="6" Padding="8,4,8,4" Margin="0,0,0,2">
|
||||
<Border.Style>
|
||||
<Style TargetType="Border">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource ItemHoverBackground}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Style>
|
||||
<TextBlock x:Name="SlashNavUpText" FontSize="10.5"
|
||||
HorizontalAlignment="Center"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
</Border>
|
||||
<!-- 아이템 목록 -->
|
||||
<ItemsControl x:Name="SlashItems"/>
|
||||
<!-- 아래 화살표 -->
|
||||
<Border x:Name="SlashNavDown" Visibility="Collapsed" Cursor="Hand"
|
||||
CornerRadius="6" Padding="8,4,8,4" Margin="0,2,0,0">
|
||||
<Border.Style>
|
||||
<Style TargetType="Border">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource ItemHoverBackground}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Style>
|
||||
<TextBlock x:Name="SlashNavDownText" FontSize="10.5"
|
||||
HorizontalAlignment="Center"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
<Border Background="{DynamicResource ItemBackground}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="0,0,0,1"
|
||||
CornerRadius="18,18,0,0"
|
||||
Padding="14,12,14,10">
|
||||
<StackPanel>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel Orientation="Horizontal" Grid.Column="0">
|
||||
<Border Background="{DynamicResource AccentColor}"
|
||||
CornerRadius="8"
|
||||
Padding="6,2"
|
||||
Margin="0,0,8,0"
|
||||
VerticalAlignment="Center">
|
||||
<TextBlock Text="/"
|
||||
FontSize="12"
|
||||
FontWeight="SemiBold"
|
||||
Foreground="White"/>
|
||||
</Border>
|
||||
<TextBlock x:Name="SlashPopupTitle"
|
||||
Text="명령 및 스킬"
|
||||
FontSize="13.5"
|
||||
FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
<Button Grid.Column="1"
|
||||
x:Name="BtnSlashReset"
|
||||
Click="BtnSlashReset_Click"
|
||||
Style="{StaticResource GhostBtn}"
|
||||
Padding="8,4"
|
||||
Margin="0,0,6,0"
|
||||
ToolTip="핀/최근 정리">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text=""
|
||||
FontFamily="Segoe MDL2 Assets"
|
||||
FontSize="10.5"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
Margin="0,0,4,0"/>
|
||||
<TextBlock Text="정리"
|
||||
FontSize="11.5"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button Grid.Column="2"
|
||||
x:Name="BtnSlashToggleGroups"
|
||||
Click="BtnSlashToggleGroups_Click"
|
||||
Style="{StaticResource GhostBtn}"
|
||||
Padding="8,4"
|
||||
ToolTip="명령/스킬 그룹 전체 접기 또는 펼치기">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text=""
|
||||
FontFamily="Segoe MDL2 Assets"
|
||||
FontSize="10.5"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
Margin="0,0,4,0"/>
|
||||
<TextBlock x:Name="SlashToggleGroupsLabel"
|
||||
Text="전체 접기"
|
||||
FontSize="11.5"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</Grid>
|
||||
<TextBlock x:Name="SlashPopupHint"
|
||||
Text="방향키나 마우스 휠로 이동하고 Enter로 바로 실행합니다"
|
||||
FontSize="11.5"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
Margin="0,6,0,0"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<ScrollViewer x:Name="SlashScrollViewer"
|
||||
MaxHeight="420"
|
||||
VerticalScrollBarVisibility="Auto"
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
CanContentScroll="False"
|
||||
PanningMode="VerticalOnly"
|
||||
PreviewMouseWheel="SlashPopup_PreviewMouseWheel"
|
||||
Padding="10,10,10,8">
|
||||
<ItemsControl x:Name="SlashItems"/>
|
||||
</ScrollViewer>
|
||||
<TextBlock x:Name="SlashPopupFooter"
|
||||
Margin="8,8,8,2"
|
||||
Text="Enter 실행 · ↑↓ 탐색 · 별 아이콘 즐겨찾기"
|
||||
Margin="14,0,14,12"
|
||||
Text="Enter 실행 · ↑↓ 이동 · 휠 스크롤 · Esc 닫기"
|
||||
FontSize="10.5"
|
||||
Foreground="{DynamicResource SecondaryText}"/>
|
||||
</StackPanel>
|
||||
@@ -899,19 +1093,27 @@
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Row 0: 모델 셀렉터 + 템플릿 버튼 -->
|
||||
<Grid Grid.Row="0">
|
||||
<Grid Grid.Row="0" Margin="6,2,6,2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button x:Name="BtnModelSelector"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
Grid.Column="0"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="8,2,0,2"
|
||||
Margin="0"
|
||||
MinHeight="28"
|
||||
Padding="10,3"
|
||||
Click="BtnModelSelector_Click"
|
||||
ToolTip="모델 변경"
|
||||
ToolTip="모델/추론 빠른 설정"
|
||||
WindowChrome.IsHitTestVisibleInChrome="True">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="13"
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center" Margin="0,0,5,0"/>
|
||||
<TextBlock x:Name="ModelLabel" FontSize="13"
|
||||
<TextBlock x:Name="ModelLabel" FontSize="12.5"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="9"
|
||||
@@ -921,18 +1123,25 @@
|
||||
</Button>
|
||||
<Button x:Name="BtnTemplateSelector"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
Grid.Column="2"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="0,2,8,2"
|
||||
Margin="0"
|
||||
MinHeight="28"
|
||||
MinWidth="64"
|
||||
Padding="8,3"
|
||||
Click="BtnTemplateSelector_Click"
|
||||
ToolTip="프롬프트 템플릿"
|
||||
WindowChrome.IsHitTestVisibleInChrome="True">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="13"
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center" Margin="0,0,5,0"/>
|
||||
<TextBlock Text="템플릿" FontSize="13"
|
||||
<TextBlock Text="프리셋" FontSize="12"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="8"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center" Margin="4,1,0,0"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</Grid>
|
||||
@@ -961,8 +1170,9 @@
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="1"
|
||||
x:Name="InlineSettingsHintText"
|
||||
Margin="8,0,0,0"
|
||||
Text="모델/실행 옵션"
|
||||
Text="모델/권한 핵심 옵션"
|
||||
FontSize="11"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
@@ -1009,7 +1219,7 @@
|
||||
SelectionChanged="CmbInlineModel_SelectionChanged"/>
|
||||
</Grid>
|
||||
|
||||
<WrapPanel>
|
||||
<WrapPanel x:Name="InlineSettingsQuickActions">
|
||||
<Button x:Name="BtnInlineFastMode"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
Margin="0,0,6,6"
|
||||
@@ -1034,17 +1244,20 @@
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
Margin="0,0,6,6"
|
||||
Padding="10,5"
|
||||
Click="BtnInlineSkill_Click"/>
|
||||
Click="BtnInlineSkill_Click"
|
||||
Visibility="Collapsed"/>
|
||||
<Button x:Name="BtnInlineCommandBrowser"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
Margin="0,0,6,6"
|
||||
Padding="10,5"
|
||||
Click="BtnInlineCommandBrowser_Click"/>
|
||||
Click="BtnInlineCommandBrowser_Click"
|
||||
Visibility="Collapsed"/>
|
||||
<Button x:Name="BtnInlineMcp"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
Margin="0,0,6,6"
|
||||
Padding="10,5"
|
||||
Click="BtnInlineMcp_Click"/>
|
||||
Click="BtnInlineMcp_Click"
|
||||
Visibility="Collapsed"/>
|
||||
</WrapPanel>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
@@ -1247,7 +1460,7 @@
|
||||
<TextBlock x:Name="DataUsageIcon" Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center" Margin="0,0,4,0"/>
|
||||
<TextBlock x:Name="DataUsageLabel" Text="적극" FontSize="12"
|
||||
<TextBlock x:Name="DataUsageLabel" Text="활용하지 않음" FontSize="12"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
@@ -1264,7 +1477,7 @@
|
||||
<TextBlock x:Name="PermissionIcon" Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center" Margin="0,0,4,0"/>
|
||||
<TextBlock x:Name="PermissionLabel" Text="Ask" FontSize="12"
|
||||
<TextBlock x:Name="PermissionLabel" Text="권한 요청" FontSize="12"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
@@ -1298,24 +1511,6 @@
|
||||
</Border>
|
||||
</Popup>
|
||||
|
||||
<!-- Auto 권한 경고 배너 (1회 필수 표시, X로 닫기 가능) -->
|
||||
<Border x:Name="AutoPermissionWarning" Visibility="Collapsed"
|
||||
Background="#2ADD6B20" CornerRadius="6" Margin="4,2,4,0" Padding="8,4">
|
||||
<Grid>
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="11"
|
||||
Foreground="#DD6B20" VerticalAlignment="Center" Margin="0,0,6,0"/>
|
||||
<TextBlock Text="⚠ Auto 모드: AI가 파일을 자동으로 읽고 수정합니다" FontSize="10.5"
|
||||
Foreground="#DD6B20" VerticalAlignment="Center" FontWeight="SemiBold"/>
|
||||
</StackPanel>
|
||||
<Button x:Name="BtnAutoWarningClose" HorizontalAlignment="Right" VerticalAlignment="Center"
|
||||
Style="{StaticResource GhostBtn}" Padding="2" Cursor="Hand"
|
||||
Click="BtnAutoWarningClose_Click" ToolTip="닫기">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="8"
|
||||
Foreground="#DD6B20"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user