Skip to content

Commit 2476e2d

Browse files
Only load preview when preview panel is open
1 parent 7f0e735 commit 2476e2d

File tree

2 files changed

+36
-10
lines changed

2 files changed

+36
-10
lines changed

Flow.Launcher/ViewModel/MainViewModel.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,15 @@ public MainViewModel(Settings settings)
9999
};
100100
_selectedResults = Results;
101101

102+
Results.PropertyChanged += (_, args) =>
103+
{
104+
switch (args.PropertyName)
105+
{
106+
case nameof(Results.SelectedItem):
107+
UpdatePreview();
108+
break;
109+
}
110+
};
102111

103112
RegisterViewUpdate();
104113
RegisterResultsUpdatedEvent();
@@ -441,6 +450,7 @@ private void ShowPreview()
441450
{
442451
ResultAreaColumn = 1;
443452
PreviewVisible = true;
453+
Results.SelectedItem?.LoadPreviewImage();
444454
}
445455

446456
private void HidePreview()
@@ -461,6 +471,14 @@ public void ResetPreview()
461471
}
462472
}
463473

474+
private void UpdatePreview()
475+
{
476+
if (PreviewVisible)
477+
{
478+
Results.SelectedItem?.LoadPreviewImage();
479+
}
480+
}
481+
464482
/// <summary>
465483
/// we need move cursor to end when we manually changed query
466484
/// but we don't want to move cursor to end when query is updated from TextBox

Flow.Launcher/ViewModel/ResultViewModel.cs

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,14 @@ public Visibility ShowIcon
9090
}
9191
}
9292

93+
public bool UsePreviewImage
94+
{
95+
//todo binding
96+
get => !ImgIconAvailable && !GlyphAvailable ||
97+
Settings.UseGlyphIcons && !GlyphAvailable && ImgIconAvailable ||
98+
!Settings.UseGlyphIcons && ImgIconAvailable;
99+
}
100+
93101
public double IconRadius
94102
{
95103
get
@@ -153,16 +161,7 @@ public ImageSource Image
153161

154162
public ImageSource PreviewImage
155163
{
156-
get
157-
{
158-
if (!PreviewImageLoaded)
159-
{
160-
PreviewImageLoaded = true;
161-
_ = LoadPreviewImageAsync();
162-
}
163-
164-
return previewImage;
165-
}
164+
get => previewImage;
166165
private set => previewImage = value;
167166
}
168167

@@ -223,6 +222,15 @@ private async Task LoadPreviewImageAsync()
223222
}
224223
}
225224

225+
public void LoadPreviewImage()
226+
{
227+
if (!PreviewImageLoaded && UsePreviewImage)
228+
{
229+
PreviewImageLoaded = true;
230+
_ = LoadPreviewImageAsync();
231+
}
232+
}
233+
226234
public Result Result { get; }
227235
public int ResultProgress
228236
{

0 commit comments

Comments
 (0)