diff --git a/src/Files.App/Actions/FileSystem/OpenItemAction.cs b/src/Files.App/Actions/FileSystem/OpenItemAction.cs index 8d9d6bb3aab3..1854df4e007f 100644 --- a/src/Files.App/Actions/FileSystem/OpenItemAction.cs +++ b/src/Files.App/Actions/FileSystem/OpenItemAction.cs @@ -27,7 +27,8 @@ public HotKey HotKey public bool IsExecutable => context.HasSelection && !(context.ShellPage is ColumnShellPage && - context.SelectedItem?.PrimaryItemAttribute == StorageItemTypes.Folder); + context.SelectedItem?.PrimaryItemAttribute == StorageItemTypes.Folder) && + context.PageType != ContentPageTypes.RecycleBin; public OpenItemAction() { @@ -67,6 +68,7 @@ public RichGlyph Glyph public bool IsExecutable => context.HasSelection && + context.PageType != ContentPageTypes.RecycleBin && context.SelectedItems.All(i => (i.PrimaryItemAttribute == StorageItemTypes.File && !i.IsShortcut && !i.IsExecutable) || (i.PrimaryItemAttribute == StorageItemTypes.Folder && i.IsArchive)); diff --git a/src/Files.App/Actions/Navigation/OpenInNewPane/BaseOpenInNewPaneAction.cs b/src/Files.App/Actions/Navigation/OpenInNewPane/BaseOpenInNewPaneAction.cs index 5fe4ec301e7e..c7e9e9d1ac47 100644 --- a/src/Files.App/Actions/Navigation/OpenInNewPane/BaseOpenInNewPaneAction.cs +++ b/src/Files.App/Actions/Navigation/OpenInNewPane/BaseOpenInNewPaneAction.cs @@ -17,6 +17,7 @@ public string Description => Strings.OpenDirectoryInNewPaneDescription.GetLocalizedResource(); public virtual bool IsExecutable => + ContentPageContext.PageType != ContentPageTypes.RecycleBin && ContentPageContext.SelectedItem is not null && ContentPageContext.SelectedItem.IsFolder; diff --git a/src/Files.App/Actions/Navigation/OpenInNewTab/BaseOpenInNewTabAction.cs b/src/Files.App/Actions/Navigation/OpenInNewTab/BaseOpenInNewTabAction.cs index df863028f7a4..d8b77afb8262 100644 --- a/src/Files.App/Actions/Navigation/OpenInNewTab/BaseOpenInNewTabAction.cs +++ b/src/Files.App/Actions/Navigation/OpenInNewTab/BaseOpenInNewTabAction.cs @@ -25,6 +25,7 @@ public virtual bool IsAccessibleGlobally public virtual bool IsExecutable => ContentPageContext.ShellPage is not null && ContentPageContext.ShellPage.SlimContentPage is not null && + ContentPageContext.PageType != ContentPageTypes.RecycleBin && ContentPageContext.SelectedItems.Count is not 0 && ContentPageContext.SelectedItems.Count <= 5 && ContentPageContext.SelectedItems.Count(x => x.IsFolder) == ContentPageContext.SelectedItems.Count; diff --git a/src/Files.App/Actions/Navigation/OpenInNewWindow/BaseOpenInNewWindowAction.cs b/src/Files.App/Actions/Navigation/OpenInNewWindow/BaseOpenInNewWindowAction.cs index d89469546cfb..2715c9dd8512 100644 --- a/src/Files.App/Actions/Navigation/OpenInNewWindow/BaseOpenInNewWindowAction.cs +++ b/src/Files.App/Actions/Navigation/OpenInNewWindow/BaseOpenInNewWindowAction.cs @@ -30,6 +30,7 @@ public virtual bool IsAccessibleGlobally public virtual bool IsExecutable => ContentPageContext.ShellPage is not null && ContentPageContext.ShellPage.SlimContentPage is not null && + ContentPageContext.PageType != ContentPageTypes.RecycleBin && ContentPageContext.SelectedItems.Count is not 0 && ContentPageContext.SelectedItems.Count <= 5 && ContentPageContext.SelectedItems.Count(x => x.IsFolder) == ContentPageContext.SelectedItems.Count; diff --git a/src/Files.App/Actions/Sidebar/PinFolderToSidebarAction.cs b/src/Files.App/Actions/Sidebar/PinFolderToSidebarAction.cs index c4df6940932c..9f6f7e4c5f4a 100644 --- a/src/Files.App/Actions/Sidebar/PinFolderToSidebarAction.cs +++ b/src/Files.App/Actions/Sidebar/PinFolderToSidebarAction.cs @@ -48,6 +48,9 @@ public async Task ExecuteAsync(object? parameter = null) private bool GetIsExecutable() { + if (context.PageType == ContentPageTypes.RecycleBin) + return false; + string[] pinnedFolders = [.. App.QuickAccessManager.Model.PinnedFolders]; return context.HasSelection