Files
AX-Copilot-Codex/src/AxCopilot/Views/QuickLookWindow.xaml
lacvet f7cafe0cfc 런처 Agent Compare 기능 1차 이식 및 현재 런처 구조 연결
- Agent Compare 기준으로 런처 빠른 실행 칩, 검색 히스토리 탐색, 선택 항목 미리보기 패널을 현재 런처에 이식
- 하단 위젯 바, QuickLook(F3), 화면 OCR(F4), 관련 서비스/partial 파일을 현재 LauncherWindow/LauncherViewModel 구조에 연결
- UsageRankingService 상위 항목 조회와 SearchHistoryService를 추가해 실행 상위 경로/검색 기록이 실제 런처 동작에 반영되도록 정리
- README.md, docs/DEVELOPMENT.md에 이식 범위와 검증 결과를 2026-04-05 11:58 (KST) 기준으로 기록

검증 결과
- dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ 경고 0 / 오류 0
2026-04-05 11:51:43 +09:00

162 lines
7.6 KiB
XML

<Window x:Class="AxCopilot.Views.QuickLookWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="AX Commander 빠른 미리보기"
Width="400"
Height="500"
MinWidth="260"
MinHeight="200"
WindowStyle="None"
AllowsTransparency="True"
Background="Transparent"
WindowStartupLocation="Manual"
ResizeMode="CanResizeWithGrip"
Topmost="True">
<Border Background="{DynamicResource LauncherBackground}"
CornerRadius="12"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"
Margin="6">
<Border.Effect>
<DropShadowEffect BlurRadius="22" ShadowDepth="4" Opacity="0.32" Color="Black" Direction="270"/>
</Border.Effect>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="44"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0"
CornerRadius="12,12,0,0"
Background="{DynamicResource ItemBackground}"
MouseLeftButtonDown="TitleBar_MouseDown">
<Grid Margin="14,0,8,0">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<TextBlock x:Name="FileTypeIcon"
Text="&#xE7C3;"
FontFamily="Segoe MDL2 Assets"
FontSize="15"
Foreground="{DynamicResource AccentColor}"
VerticalAlignment="Center"
Margin="0,1,10,0"/>
<TextBlock x:Name="FileNameText"
FontSize="13"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"
VerticalAlignment="Center"
TextTrimming="CharacterEllipsis"
MaxWidth="270"/>
</StackPanel>
<Border HorizontalAlignment="Right"
VerticalAlignment="Center"
CornerRadius="4"
Padding="8,4"
Cursor="Hand"
MouseLeftButtonUp="BtnClose_Click">
<Border.Style>
<Style TargetType="Border">
<Setter Property="Background" Value="Transparent"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#40C05050"/>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock Text="&#xE711;"
FontFamily="Segoe MDL2 Assets"
FontSize="13"
Foreground="{DynamicResource SecondaryText}"/>
</Border>
</Grid>
</Border>
<Grid Grid.Row="1">
<ScrollViewer x:Name="ImageScrollViewer"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
Visibility="Collapsed"
Background="{DynamicResource LauncherBackground}">
<Image x:Name="PreviewImage"
Stretch="Uniform"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="8"/>
</ScrollViewer>
<ScrollViewer x:Name="TextScrollViewer"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
Visibility="Collapsed">
<TextBlock x:Name="PreviewText"
FontFamily="Cascadia Code, Consolas, Courier New"
FontSize="12"
Foreground="{DynamicResource PrimaryText}"
TextWrapping="Wrap"
Margin="14,12"/>
</ScrollViewer>
<ScrollViewer x:Name="PdfScrollViewer"
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"
Visibility="Collapsed">
<TextBlock x:Name="PdfPreviewText"
FontFamily="Segoe UI, Malgun Gothic"
FontSize="12"
Foreground="{DynamicResource PrimaryText}"
TextWrapping="Wrap"
Margin="14,12"/>
</ScrollViewer>
<StackPanel x:Name="InfoPanel"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Visibility="Collapsed">
<TextBlock x:Name="InfoTypeIcon"
Text="&#xE7C3;"
FontFamily="Segoe MDL2 Assets"
FontSize="52"
Foreground="{DynamicResource AccentColor}"
HorizontalAlignment="Center"/>
<TextBlock x:Name="InfoTypeName"
FontSize="14"
FontWeight="Medium"
Foreground="{DynamicResource PrimaryText}"
HorizontalAlignment="Center"
Margin="0,10,0,0"
TextWrapping="Wrap"
TextAlignment="Center"
MaxWidth="320"/>
<TextBlock x:Name="InfoSubText"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"
HorizontalAlignment="Center"
Margin="0,4,0,0"/>
</StackPanel>
</Grid>
<Border Grid.Row="2"
CornerRadius="0,0,12,12"
Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="0,1,0,0"
Padding="14,7">
<Grid>
<TextBlock x:Name="FooterPath"
FontSize="10"
Foreground="{DynamicResource SecondaryText}"
TextTrimming="CharacterEllipsis"
HorizontalAlignment="Left"
VerticalAlignment="Center"/>
<TextBlock x:Name="FooterMeta"
FontSize="10"
Foreground="{DynamicResource SecondaryText}"
HorizontalAlignment="Right"
VerticalAlignment="Center"/>
</Grid>
</Border>
</Grid>
</Border>
</Window>