Skip to content

Commit ebdea4f

Browse files
authored
Merge pull request #3905 from Flow-Launcher/explorer_preview_panel
Fix Explorer preview panel issue
2 parents 4b41578 + 6751942 commit ebdea4f

File tree

2 files changed

+36
-53
lines changed

2 files changed

+36
-53
lines changed

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

Lines changed: 19 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
xmlns:sys="clr-namespace:System;assembly=System.Runtime"
88
d:DesignHeight="300"
99
d:DesignWidth="300"
10+
DataContext="{Binding RelativeSource={RelativeSource Self}}"
1011
mc:Ignorable="d">
1112
<Grid x:Name="PreviewGrid" VerticalAlignment="Stretch">
1213
<Grid.RowDefinitions>
@@ -20,40 +21,22 @@
2021
</Grid.RowDefinitions>
2122
<Image
2223
Grid.Row="0"
24+
MaxWidth="96"
25+
MaxHeight="96"
2326
Margin="5 12 8 0"
24-
Source="{Binding PreviewImage, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}">
25-
<Image.Style>
26-
<Style TargetType="Image">
27-
<Style.Triggers>
28-
<DataTrigger Binding="{Binding UseBigThumbnail}" Value="False">
29-
<Setter Property="MaxWidth" Value="96" />
30-
<Setter Property="MaxHeight" Value="96" />
31-
</DataTrigger>
32-
</Style.Triggers>
33-
</Style>
34-
</Image.Style>
35-
</Image>
27+
Source="{Binding PreviewImage, IsAsync=True, Mode=OneWay}" />
3628
<Grid Grid.Row="1">
3729
<TextBlock
3830
Margin="5 6 5 16"
3931
HorizontalAlignment="Stretch"
4032
VerticalAlignment="Top"
4133
Style="{DynamicResource PreviewItemTitleStyle}"
42-
Text="{Binding Result.Title}"
34+
Text="{Binding FileName, Mode=OneTime}"
4335
TextAlignment="Center"
4436
TextWrapping="Wrap" />
4537
</Grid>
4638
</Grid>
4739
<StackPanel Grid.Row="1">
48-
<StackPanel.Style>
49-
<Style TargetType="StackPanel">
50-
<Style.Triggers>
51-
<DataTrigger Binding="{Binding Result.SubTitle.Length}" Value="0">
52-
<Setter Property="Visibility" Value="Collapsed" />
53-
</DataTrigger>
54-
</Style.Triggers>
55-
</Style>
56-
</StackPanel.Style>
5740
<Rectangle
5841
x:Name="PreviewSep"
5942
Width="Auto"
@@ -64,7 +47,7 @@
6447
<TextBlock
6548
Margin="5 8 8 8"
6649
Style="{DynamicResource PreviewItemSubTitleStyle}"
67-
Text="{Binding Result.SubTitle}" />
50+
Text="{Binding FilePath, Mode=OneTime}" />
6851
<Rectangle
6952
Width="Auto"
7053
Height="1"
@@ -77,17 +60,17 @@
7760
<Style.Triggers>
7861
<MultiDataTrigger>
7962
<MultiDataTrigger.Conditions>
80-
<Condition Binding="{Binding FileSizeVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" Value="Collapsed" />
81-
<Condition Binding="{Binding CreatedAtVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" Value="Collapsed" />
82-
<Condition Binding="{Binding LastModifiedAtVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" Value="Collapsed" />
63+
<Condition Binding="{Binding FileSizeVisibility}" Value="Collapsed" />
64+
<Condition Binding="{Binding CreatedAtVisibility}" Value="Collapsed" />
65+
<Condition Binding="{Binding LastModifiedAtVisibility}" Value="Collapsed" />
8366
</MultiDataTrigger.Conditions>
8467
<Setter Property="Visibility" Value="Collapsed" />
8568
</MultiDataTrigger>
8669
</Style.Triggers>
8770
</Style>
8871
</Rectangle.Style>
8972
</Rectangle>
90-
<Grid Margin="0 10 0 0" Visibility="{Binding FileInfoVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}">
73+
<Grid Margin="0 10 0 0" Visibility="{Binding FileInfoVisibility, Mode=OneTime}">
9174
<Grid.ColumnDefinitions>
9275
<ColumnDefinition Width="100" />
9376
<ColumnDefinition Width="*" />
@@ -105,17 +88,17 @@
10588
Style="{DynamicResource PreviewItemSubTitleStyle}"
10689
Text="{DynamicResource FileSize}"
10790
TextWrapping="Wrap"
108-
Visibility="{Binding FileSizeVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
91+
Visibility="{Binding FileSizeVisibility, Mode=OneTime}" />
10992
<TextBlock
11093
Grid.Row="0"
11194
Grid.Column="1"
11295
Margin="0 0 13 0"
11396
HorizontalAlignment="Right"
11497
VerticalAlignment="Top"
11598
Style="{DynamicResource PreviewItemSubTitleStyle}"
116-
Text="{Binding FileSize, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Mode=OneWay}"
99+
Text="{Binding FileSize, Mode=OneWay}"
117100
TextWrapping="Wrap"
118-
Visibility="{Binding FileSizeVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
101+
Visibility="{Binding FileSizeVisibility, Mode=OneTime}" />
119102

120103
<TextBlock
121104
Grid.Row="1"
@@ -125,17 +108,17 @@
125108
Style="{DynamicResource PreviewItemSubTitleStyle}"
126109
Text="{DynamicResource Created}"
127110
TextWrapping="Wrap"
128-
Visibility="{Binding CreatedAtVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
111+
Visibility="{Binding CreatedAtVisibility, Mode=OneTime}" />
129112
<TextBlock
130113
Grid.Row="1"
131114
Grid.Column="1"
132115
Margin="0 0 13 0"
133116
HorizontalAlignment="Right"
134117
VerticalAlignment="Top"
135118
Style="{DynamicResource PreviewItemSubTitleStyle}"
136-
Text="{Binding CreatedAt, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}"
119+
Text="{Binding CreatedAt, Mode=OneWay}"
137120
TextWrapping="Wrap"
138-
Visibility="{Binding CreatedAtVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
121+
Visibility="{Binding CreatedAtVisibility, Mode=OneTime}" />
139122

140123
<TextBlock
141124
Grid.Row="2"
@@ -145,17 +128,17 @@
145128
Style="{DynamicResource PreviewItemSubTitleStyle}"
146129
Text="{DynamicResource LastModified}"
147130
TextWrapping="Wrap"
148-
Visibility="{Binding LastModifiedAtVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
131+
Visibility="{Binding LastModifiedAtVisibility, Mode=OneTime}" />
149132
<TextBlock
150133
Grid.Row="2"
151134
Grid.Column="1"
152135
Margin="0 0 13 0"
153136
HorizontalAlignment="Right"
154137
VerticalAlignment="Top"
155138
Style="{DynamicResource PreviewItemSubTitleStyle}"
156-
Text="{Binding LastModifiedAt, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}"
139+
Text="{Binding LastModifiedAt, Mode=OneWay}"
157140
TextWrapping="Wrap"
158-
Visibility="{Binding LastModifiedAtVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
141+
Visibility="{Binding LastModifiedAtVisibility, Mode=OneTime}" />
159142
</Grid>
160143
</StackPanel>
161144
</Grid>

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

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,22 @@ public partial class PreviewPanel : UserControl
2121
{
2222
private static readonly string ClassName = nameof(PreviewPanel);
2323

24-
private string FilePath { get; }
25-
public string FileSize { get; private set; } = Main.Context.API.GetTranslation("plugin_explorer_plugin_tooltip_more_info_unknown");
26-
public string CreatedAt { get; } = "";
27-
public string LastModifiedAt { get; } = "";
24+
public string FilePath { get; }
25+
public string FileName { get; }
26+
27+
[ObservableProperty]
28+
private string _fileSize = Main.Context.API.GetTranslation("plugin_explorer_plugin_tooltip_more_info_unknown");
29+
30+
[ObservableProperty]
31+
private string _createdAt = "";
32+
33+
[ObservableProperty]
34+
private string _lastModifiedAt = "";
35+
36+
[ObservableProperty]
2837
private ImageSource _previewImage = new BitmapImage();
29-
private Settings Settings { get; }
3038

31-
public ImageSource PreviewImage
32-
{
33-
get => _previewImage;
34-
private set
35-
{
36-
_previewImage = value;
37-
OnPropertyChanged();
38-
}
39-
}
39+
private Settings Settings { get; }
4040

4141
public Visibility FileSizeVisibility => Settings.ShowFileSizeInPreviewPanel
4242
? Visibility.Visible
@@ -57,11 +57,11 @@ private set
5757

5858
public PreviewPanel(Settings settings, string filePath, ResultType type)
5959
{
60-
InitializeComponent();
61-
6260
Settings = settings;
63-
6461
FilePath = filePath;
62+
FileName = Path.GetFileName(filePath);
63+
64+
InitializeComponent();
6565

6666
if (Settings.ShowFileSizeInPreviewPanel)
6767
{

0 commit comments

Comments
 (0)