Skip to content

Commit 9849acb

Browse files
committed
Fix: Set IsExecutable property for navigation actions to prevent execution in Recycle Bin via Command Palette.
1 parent 7814546 commit 9849acb

File tree

4 files changed

+6
-1
lines changed

4 files changed

+6
-1
lines changed

src/Files.App/Actions/FileSystem/OpenItemAction.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ public HotKey HotKey
2727
public bool IsExecutable =>
2828
context.HasSelection &&
2929
!(context.ShellPage is ColumnShellPage &&
30-
context.SelectedItem?.PrimaryItemAttribute == StorageItemTypes.Folder);
30+
context.SelectedItem?.PrimaryItemAttribute == StorageItemTypes.Folder) &&
31+
!(context.PageType == ContentPageTypes.RecycleBin &&
32+
context.SelectedItems.All(x => x.IsFolder));
3133

3234
public OpenItemAction()
3335
{

src/Files.App/Actions/Navigation/OpenInNewPane/BaseOpenInNewPaneAction.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public string Description
1717
=> Strings.OpenDirectoryInNewPaneDescription.GetLocalizedResource();
1818

1919
public virtual bool IsExecutable =>
20+
ContentPageContext.PageType != ContentPageTypes.RecycleBin &&
2021
ContentPageContext.SelectedItem is not null &&
2122
ContentPageContext.SelectedItem.IsFolder;
2223

src/Files.App/Actions/Navigation/OpenInNewTab/BaseOpenInNewTabAction.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public virtual bool IsAccessibleGlobally
2525
public virtual bool IsExecutable =>
2626
ContentPageContext.ShellPage is not null &&
2727
ContentPageContext.ShellPage.SlimContentPage is not null &&
28+
ContentPageContext.PageType != ContentPageTypes.RecycleBin &&
2829
ContentPageContext.SelectedItems.Count is not 0 &&
2930
ContentPageContext.SelectedItems.Count <= 5 &&
3031
ContentPageContext.SelectedItems.Count(x => x.IsFolder) == ContentPageContext.SelectedItems.Count;

src/Files.App/Actions/Navigation/OpenInNewWindow/BaseOpenInNewWindowAction.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public virtual bool IsAccessibleGlobally
3030
public virtual bool IsExecutable =>
3131
ContentPageContext.ShellPage is not null &&
3232
ContentPageContext.ShellPage.SlimContentPage is not null &&
33+
ContentPageContext.PageType != ContentPageTypes.RecycleBin &&
3334
ContentPageContext.SelectedItems.Count is not 0 &&
3435
ContentPageContext.SelectedItems.Count <= 5 &&
3536
ContentPageContext.SelectedItems.Count(x => x.IsFolder) == ContentPageContext.SelectedItems.Count;

0 commit comments

Comments
 (0)