Flow.Launcher/Plugins/Flow.Launcher.Plugin.Explorer/Views/PreviewPanel.xaml

145 lines
6.4 KiB
XML

<UserControl
x:Class="Flow.Launcher.Plugin.Explorer.Views.PreviewPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sys="clr-namespace:System;assembly=System.Runtime"
d:DesignHeight="300"
d:DesignWidth="300"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
mc:Ignorable="d">
<Grid x:Name="PreviewGrid" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid Grid.Row="0" VerticalAlignment="Center">
<Grid.RowDefinitions>
<RowDefinition MinHeight="96" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image
Grid.Row="0"
MaxWidth="96"
MaxHeight="96"
Margin="5 12 8 0"
Source="{Binding PreviewImage, IsAsync=True, Mode=OneWay}" />
<Grid Grid.Row="1">
<TextBlock
Margin="5 6 5 16"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
Style="{DynamicResource PreviewItemTitleStyle}"
Text="{Binding FileName, Mode=OneTime}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Grid>
</Grid>
<StackPanel Grid.Row="1">
<Rectangle
x:Name="PreviewSep"
Width="Auto"
Height="1"
Margin="0 0 5 0"
HorizontalAlignment="Stretch"
Style="{DynamicResource SeparatorStyle}" />
<TextBlock
Margin="5 8 8 8"
Style="{DynamicResource PreviewItemSubTitleStyle}"
Text="{Binding FilePath, Mode=OneTime}" />
<Rectangle
Width="Auto"
Height="1"
Margin="0 0 5 0"
HorizontalAlignment="Stretch"
Fill="{Binding ElementName=PreviewSep, Path=Fill}">
<Rectangle.Style>
<Style TargetType="Rectangle">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding FileSizeVisibility}" Value="Collapsed" />
<Condition Binding="{Binding CreatedAtVisibility}" Value="Collapsed" />
<Condition Binding="{Binding LastModifiedAtVisibility}" Value="Collapsed" />
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Collapsed" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
<Grid Margin="0 10 0 0" Visibility="{Binding FileInfoVisibility, Mode=OneTime}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock
Grid.Row="0"
Grid.Column="0"
Margin="5 0 0 0"
VerticalAlignment="Top"
Style="{DynamicResource PreviewItemSubTitleStyle}"
Text="{DynamicResource FileSize}"
TextWrapping="Wrap"
Visibility="{Binding FileSizeVisibility, Mode=OneTime}" />
<TextBlock
Grid.Row="0"
Grid.Column="1"
Margin="0 0 13 0"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Style="{DynamicResource PreviewItemSubTitleStyle}"
Text="{Binding FileSize, Mode=OneWay}"
TextWrapping="Wrap"
Visibility="{Binding FileSizeVisibility, Mode=OneTime}" />
<TextBlock
Grid.Row="1"
Grid.Column="0"
Margin="5 0 8 0"
VerticalAlignment="Top"
Style="{DynamicResource PreviewItemSubTitleStyle}"
Text="{DynamicResource Created}"
TextWrapping="Wrap"
Visibility="{Binding CreatedAtVisibility, Mode=OneTime}" />
<TextBlock
Grid.Row="1"
Grid.Column="1"
Margin="0 0 13 0"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Style="{DynamicResource PreviewItemSubTitleStyle}"
Text="{Binding CreatedAt, Mode=OneWay}"
TextWrapping="Wrap"
Visibility="{Binding CreatedAtVisibility, Mode=OneTime}" />
<TextBlock
Grid.Row="2"
Grid.Column="0"
Margin="5 0 8 0"
VerticalAlignment="Top"
Style="{DynamicResource PreviewItemSubTitleStyle}"
Text="{DynamicResource LastModified}"
TextWrapping="Wrap"
Visibility="{Binding LastModifiedAtVisibility, Mode=OneTime}" />
<TextBlock
Grid.Row="2"
Grid.Column="1"
Margin="0 0 13 0"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Style="{DynamicResource PreviewItemSubTitleStyle}"
Text="{Binding LastModifiedAt, Mode=OneWay}"
TextWrapping="Wrap"
Visibility="{Binding LastModifiedAtVisibility, Mode=OneTime}" />
</Grid>
</StackPanel>
</Grid>
</UserControl>