Skip to content

Commit 69de869

Browse files
authored
Fix: Fixed the dialog may not be shown when undoing to delete items (#11201)
1 parent d9cc70c commit 69de869

File tree

4 files changed

+11
-8
lines changed

4 files changed

+11
-8
lines changed

src/Files.App/Filesystem/FilesystemOperations/Helpers/FilesystemHelpers.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public async Task<ReturnResult> DeleteItemsAsync(IEnumerable<IStorageItemWithPat
125125
var deleteFromRecycleBin = source.Select(item => item.Path).Any(path => RecycleBinHelpers.IsPathUnderRecycleBin(path));
126126
var canBeSentToBin = !deleteFromRecycleBin && await RecycleBinHelpers.HasRecycleBin(source.FirstOrDefault()?.Path);
127127

128-
if (showDialog && UserSettingsService.FoldersSettingsService.ShowConfirmDeleteDialog) // Check if the setting to show a confirmation dialog is on
128+
if (showDialog)
129129
{
130130
var incomingItems = new List<BaseFileSystemDialogItemViewModel>();
131131
List<ShellFileItem>? binItems = null;
@@ -258,8 +258,7 @@ public async Task<ReturnResult> PerformOperationTypeAsync(DataPackageOperation o
258258
}
259259
if (destination.StartsWith(CommonPaths.RecycleBinPath, StringComparison.Ordinal))
260260
{
261-
showDialog |= UserSettingsService.FoldersSettingsService.ShowConfirmDeleteDialog;
262-
return await RecycleItemsFromClipboard(packageView, destination, showDialog, registerHistory);
261+
return await RecycleItemsFromClipboard(packageView, destination, UserSettingsService.FoldersSettingsService.ShowConfirmDeleteDialog, registerHistory);
263262
}
264263
else if (operation.HasFlag(DataPackageOperation.Copy))
265264
{

src/Files.App/Helpers/RecycleBinHelpers.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
using CommunityToolkit.Mvvm.DependencyInjection;
12
using Files.App.Extensions;
23
using Files.App.Filesystem;
34
using Files.App.Shell;
5+
using Files.Backend.Services.Settings;
46
using Files.Shared;
57
using Files.Shared.Enums;
68
using Microsoft.UI.Xaml.Controls;
@@ -20,6 +22,8 @@ public static class RecycleBinHelpers
2022

2123
private static readonly Regex recycleBinPathRegex = new(@"^[A-Z]:\\\$Recycle\.Bin\\", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
2224

25+
private static readonly IUserSettingsService userSettingsService = Ioc.Default.GetRequiredService<IUserSettingsService>();
26+
2327
#endregion Private Members
2428

2529
public static async Task<List<ShellFileItem>> EnumerateRecycleBin()
@@ -169,7 +173,7 @@ public static async Task DeleteItem(IShellPage associatedInstance)
169173
var items = associatedInstance.SlimContentPage.SelectedItems.ToList().Select((item) => StorageHelpers.FromPathAndType(
170174
item.ItemPath,
171175
item.PrimaryItemAttribute == StorageItemTypes.File ? FilesystemItemType.File : FilesystemItemType.Directory));
172-
await associatedInstance.FilesystemHelpers.DeleteItemsAsync(items, true, false, true);
176+
await associatedInstance.FilesystemHelpers.DeleteItemsAsync(items, userSettingsService.FoldersSettingsService.ShowConfirmDeleteDialog, false, true);
173177
}
174178
}
175179
}

src/Files.App/Views/ColumnShellPage.xaml.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ private async void KeyboardAccelerator_Invoked(KeyboardAccelerator sender, Keybo
714714
var items = SlimContentPage.SelectedItems.ToList().Select((item) => StorageHelpers.FromPathAndType(
715715
item.ItemPath,
716716
item.PrimaryItemAttribute == StorageItemTypes.File ? FilesystemItemType.File : FilesystemItemType.Directory));
717-
await FilesystemHelpers.DeleteItemsAsync(items, true, true, true);
717+
await FilesystemHelpers.DeleteItemsAsync(items, UserSettingsService.FoldersSettingsService.ShowConfirmDeleteDialog, true, true);
718718
}
719719

720720
break;
@@ -758,7 +758,7 @@ private async void KeyboardAccelerator_Invoked(KeyboardAccelerator sender, Keybo
758758
var items = SlimContentPage.SelectedItems.ToList().Select((item) => StorageHelpers.FromPathAndType(
759759
item.ItemPath,
760760
item.PrimaryItemAttribute == StorageItemTypes.File ? FilesystemItemType.File : FilesystemItemType.Directory));
761-
await FilesystemHelpers.DeleteItemsAsync(items, true, false, true);
761+
await FilesystemHelpers.DeleteItemsAsync(items, UserSettingsService.FoldersSettingsService.ShowConfirmDeleteDialog, false, true);
762762
}
763763

764764
break;

src/Files.App/Views/ModernShellPage.xaml.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,7 @@ private async void KeyboardAccelerator_Invoked(KeyboardAccelerator sender, Keybo
725725
var items = SlimContentPage.SelectedItems.ToList().Select((item) => StorageHelpers.FromPathAndType(
726726
item.ItemPath,
727727
item.PrimaryItemAttribute == StorageItemTypes.File ? FilesystemItemType.File : FilesystemItemType.Directory));
728-
await FilesystemHelpers.DeleteItemsAsync(items, true, true, true);
728+
await FilesystemHelpers.DeleteItemsAsync(items, UserSettingsService.FoldersSettingsService.ShowConfirmDeleteDialog, true, true);
729729
}
730730

731731
break;
@@ -761,7 +761,7 @@ private async void KeyboardAccelerator_Invoked(KeyboardAccelerator sender, Keybo
761761
var items = SlimContentPage.SelectedItems.ToList().Select((item) => StorageHelpers.FromPathAndType(
762762
item.ItemPath,
763763
item.PrimaryItemAttribute == StorageItemTypes.File ? FilesystemItemType.File : FilesystemItemType.Directory));
764-
await FilesystemHelpers.DeleteItemsAsync(items, true, false, true);
764+
await FilesystemHelpers.DeleteItemsAsync(items, UserSettingsService.FoldersSettingsService.ShowConfirmDeleteDialog, false, true);
765765
}
766766

767767
break;

0 commit comments

Comments
 (0)