Files
QuickLook/QuickLook.Plugin/QuickLook.Plugin.ArchiveViewer/CompoundFileBinary/CompoundInfoPanel.xaml
ema 36d2d44200 Add Compound File Binary (CFB) archive support
Introduces CompoundInfoPanel for viewing Compound File Binary archives (.cfb, .eif) in the ArchiveViewer plugin. Updates Plugin.cs to detect and use the new panel for these file types, enabling preview and information display for CFB-based archives.
2025-12-26 01:05:52 +08:00

74 lines
3.8 KiB
XML

<UserControl x:Class="QuickLook.Plugin.ArchiveViewer.CompoundFileBinary.CompoundInfoPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:archive="clr-namespace:QuickLook.Plugin.ArchiveViewer.ArchiveFile"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:QuickLook.Plugin.ArchiveViewer.CompoundFileBinary"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:Name="infoPanel"
d:DesignHeight="600"
d:DesignWidth="800"
mc:Ignorable="d">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<!-- only for design -->
<ResourceDictionary Source="/QuickLook.Common;component/Styles/MainWindowStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
<archive:Percent100ToVisibilityVisibleConverter x:Key="Percent100ToVisibilityVisibleConverter" />
<archive:Percent100ToVisibilityCollapsedConverter x:Key="Percent100ToVisibilityCollapsedConverter" />
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid Visibility="{Binding ElementName=infoPanel, Path=LoadPercent, Mode=OneWay, Converter={StaticResource Percent100ToVisibilityCollapsedConverter}}" ZIndex="9999">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<Label x:Name="lblLoading"
HorizontalAlignment="Center"
FontSize="14"
Foreground="{DynamicResource WindowTextForeground}">
Loading archive ...
</Label>
<ProgressBar Width="150"
Height="13"
Value="{Binding ElementName=infoPanel, Path=LoadPercent, Mode=OneWay}" />
</StackPanel>
</Grid>
<Grid Visibility="{Binding ElementName=infoPanel, Path=LoadPercent, Mode=OneWay, Converter={StaticResource Percent100ToVisibilityVisibleConverter}}">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<archive:ArchiveFileListView x:Name="fileListView"
Grid.Row="0"
Focusable="False"
Foreground="{DynamicResource WindowTextForeground}" />
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40*" />
<ColumnDefinition Width="30*" />
<ColumnDefinition Width="30*" />
</Grid.ColumnDefinitions>
<Label x:Name="archiveCount"
Grid.Column="0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="{DynamicResource WindowTextForegroundAlternative}">
0 folders and 0 files
</Label>
<Label x:Name="archiveSizeC"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="{DynamicResource WindowTextForegroundAlternative}" />
<Label x:Name="archiveSizeU"
Grid.Column="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="{DynamicResource WindowTextForegroundAlternative}">
Uncompressed size 0 bytes
</Label>
</Grid>
</Grid>
</Grid>
</UserControl>