Skip to content

Commit 2e47da4

Browse files
committed
allow internal preview when external not available
1 parent 5ec474c commit 2e47da4

File tree

1 file changed

+38
-24
lines changed

1 file changed

+38
-24
lines changed

Flow.Launcher/ViewModel/MainViewModel.cs

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.Linq;
44
using System.Threading;
@@ -782,19 +782,27 @@ private void ShowPreview()
782782
{
783783
var useExternalPreview = PluginManager.UseExternalPreview();
784784

785-
if (!useExternalPreview)
786-
ShowInternalPreview();
787-
788-
if (useExternalPreview)
785+
switch (useExternalPreview)
789786
{
790-
// Internal preview may still be on when user switches to external
791-
if (InternalPreviewVisible)
792-
HideInternalPreview();
793-
794-
if (CanExternalPreviewSelectedResult(out var path))
787+
case true
788+
when CanExternalPreviewSelectedResult(out var path):
789+
// Internal preview may still be on when user switches to external
790+
if (InternalPreviewVisible)
791+
HideInternalPreview();
795792
OpenExternalPreview(path);
796-
}
793+
break;
797794

795+
case true
796+
when !CanExternalPreviewSelectedResult(out var _):
797+
if (ExternalPreviewVisible)
798+
CloseExternalPreview();
799+
ShowInternalPreview();
800+
break;
801+
802+
case false:
803+
ShowInternalPreview();
804+
break;
805+
}
798806
}
799807

800808
private void HidePreview()
@@ -873,27 +881,33 @@ public void ResetPreview()
873881

874882
private void UpdatePreview()
875883
{
876-
if (InternalPreviewVisible)
877-
{
878-
Results.SelectedItem?.LoadPreviewImage();
879-
return;
880-
}
881-
882884
switch (PluginManager.UseExternalPreview())
883885
{
884886
case true
885-
when ExternalPreviewVisible && CanExternalPreviewSelectedResult(out var path):
886-
SwitchExternalPreview(path, false);
887+
when CanExternalPreviewSelectedResult(out var path):
888+
if (ExternalPreviewVisible)
889+
{
890+
SwitchExternalPreview(path, false);
891+
}
892+
else if (InternalPreviewVisible)
893+
{
894+
HideInternalPreview();
895+
OpenExternalPreview(path);
896+
}
887897
break;
888898

889899
case true
890-
when !ExternalPreviewVisible && Settings.AlwaysPreview && CanExternalPreviewSelectedResult(out var _):
891-
ShowPreview();
900+
when !CanExternalPreviewSelectedResult(out var _):
901+
if (ExternalPreviewVisible)
902+
{
903+
CloseExternalPreview();
904+
ShowInternalPreview();
905+
}
892906
break;
893907

894-
case true
895-
when !CanExternalPreviewSelectedResult(out var _):
896-
HidePreview();
908+
case false
909+
when InternalPreviewVisible:
910+
Results.SelectedItem?.LoadPreviewImage();
897911
break;
898912
}
899913
}

0 commit comments

Comments
 (0)