From 50a3dd5b1570fb9b534623c8ba31b555e82c14a4 Mon Sep 17 00:00:00 2001 From: yair100 <39923744+yair100@users.noreply.github.com> Date: Thu, 18 Jun 2026 18:32:34 -0400 Subject: [PATCH] Fix: Fixed issue where 'Open with' option was shown in context menu when multiple items were selected --- src/Files.App/Actions/FileSystem/OpenItemAction.cs | 1 + src/Files.App/Data/Factories/ContentPageContextFlyoutFactory.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Files.App/Actions/FileSystem/OpenItemAction.cs b/src/Files.App/Actions/FileSystem/OpenItemAction.cs index 789a3225e35f..3d6a2bcaa4eb 100644 --- a/src/Files.App/Actions/FileSystem/OpenItemAction.cs +++ b/src/Files.App/Actions/FileSystem/OpenItemAction.cs @@ -74,6 +74,7 @@ public RichGlyph Glyph public bool IsExecutable => context.HasSelection && + context.SelectedItems.Count == 1 && context.PageType != ContentPageTypes.RecycleBin && context.SelectedItems.All(i => (i.PrimaryItemAttribute == StorageItemTypes.File && !i.IsShortcut && (!i.IsExecutable || i.IsScriptFile)) || diff --git a/src/Files.App/Data/Factories/ContentPageContextFlyoutFactory.cs b/src/Files.App/Data/Factories/ContentPageContextFlyoutFactory.cs index 2656ffd1de8c..5fd8d9cee0c5 100644 --- a/src/Files.App/Data/Factories/ContentPageContextFlyoutFactory.cs +++ b/src/Files.App/Data/Factories/ContentPageContextFlyoutFactory.cs @@ -86,7 +86,7 @@ public static List GetBaseItemMenuItems( bool canDecompress = selectedItems.Any() && selectedItems.All(x => x.IsArchive) || selectedItems.All(x => x.PrimaryItemAttribute == StorageItemTypes.File && FileExtensionHelpers.IsZipFile(x.FileExtension)); bool canCompress = !canDecompress || selectedItems.Count > 1; - bool showOpenItemWith = selectedItems.All( + bool showOpenItemWith = selectedItems.Count == 1 && selectedItems.All( i => (i.PrimaryItemAttribute == StorageItemTypes.File && !i.IsShortcut && !i.IsExecutable) || (i.PrimaryItemAttribute == StorageItemTypes.Folder && i.IsArchive)); bool areAllItemsFolders = selectedItems.All(i => i.PrimaryItemAttribute == StorageItemTypes.Folder); bool isFirstFileExecutable = FileExtensionHelpers.IsExecutableFile(selectedItems.FirstOrDefault()?.FileExtension);