diff --git a/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs b/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs index 845238898b02..a024363c1146 100644 --- a/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs +++ b/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs @@ -4,6 +4,7 @@ using Files.App.Server.Data.Enums; using System.Text.Json; using Windows.Storage; +using Windows.Win32; namespace Files.App.Data.Models { @@ -530,7 +531,7 @@ public static void SetLayoutPreferencesForPath(string path, LayoutPreferencesIte // Port settings to the database, delete the ADS SetLayoutPreferencesToDatabase(path, frn, layoutPreferences); - NativeFileOperationsHelper.DeleteFileFromApp($"{path}:files_layoutmode"); + PInvoke.DeleteFileFromApp($"{path}:files_layoutmode"); return layoutPreferences; } diff --git a/src/Files.App/NativeMethods.txt b/src/Files.App/NativeMethods.txt index 104c1b02dd2b..b59d366f3c6a 100644 --- a/src/Files.App/NativeMethods.txt +++ b/src/Files.App/NativeMethods.txt @@ -40,4 +40,6 @@ SetWindowPos SetFocus SetActiveWindow CopyFileFromApp -MoveFileFromApp \ No newline at end of file +MoveFileFromApp +DeleteFileFromApp +RemoveDirectoryFromApp \ No newline at end of file diff --git a/src/Files.App/Utils/Archives/CompressHelper.cs b/src/Files.App/Utils/Archives/CompressHelper.cs index e2b4acade43b..800e044ffb6e 100644 --- a/src/Files.App/Utils/Archives/CompressHelper.cs +++ b/src/Files.App/Utils/Archives/CompressHelper.cs @@ -4,6 +4,7 @@ using Files.Shared.Helpers; using System.IO; using Windows.Storage; +using Windows.Win32; namespace Files.App.Utils.Archives { @@ -92,7 +93,7 @@ public static async Task CompressArchiveAsync(ICompressArchiveModel creator) } else { - NativeFileOperationsHelper.DeleteFileFromApp(archivePath); + PInvoke.DeleteFileFromApp(archivePath); StatusCenterHelper.AddCard_Compress( creator.Sources, diff --git a/src/Files.App/Utils/FileTags/FileTagsHelper.cs b/src/Files.App/Utils/FileTags/FileTagsHelper.cs index 323ce48f70fc..f63b8fe5044e 100644 --- a/src/Files.App/Utils/FileTags/FileTagsHelper.cs +++ b/src/Files.App/Utils/FileTags/FileTagsHelper.cs @@ -5,6 +5,7 @@ using Windows.Foundation.Metadata; using Windows.Storage; using Windows.Storage.FileProperties; +using Windows.Win32; using IO = System.IO; namespace Files.App.Utils.FileTags @@ -31,7 +32,7 @@ public static async void WriteFileTag(string filePath, string[] tag) } if (tag is null || !tag.Any()) { - NativeFileOperationsHelper.DeleteFileFromApp($"{filePath}:files"); + PInvoke.DeleteFileFromApp($"{filePath}:files"); } else if (ReadFileTag(filePath) is not string[] arr || !tag.SequenceEqual(arr)) { diff --git a/src/Files.App/Utils/Storage/Operations/FilesystemOperations.cs b/src/Files.App/Utils/Storage/Operations/FilesystemOperations.cs index e6b9e2bcbd16..93226587cabf 100644 --- a/src/Files.App/Utils/Storage/Operations/FilesystemOperations.cs +++ b/src/Files.App/Utils/Storage/Operations/FilesystemOperations.cs @@ -504,7 +504,7 @@ public async Task DeleteAsync(IStorageItemWithPath source, IPro if (permanently) { - fsResult = (FilesystemResult)NativeFileOperationsHelper.DeleteFileFromApp(source.Path); + fsResult = (FilesystemResult)PInvoke.DeleteFileFromApp(source.Path); } if (!fsResult) { diff --git a/src/Files.App/Utils/Storage/StorageItems/NativeStorageFile.cs b/src/Files.App/Utils/Storage/StorageItems/NativeStorageFile.cs index 9a70bf82020b..8967d1d4e06d 100644 --- a/src/Files.App/Utils/Storage/StorageItems/NativeStorageFile.cs +++ b/src/Files.App/Utils/Storage/StorageItems/NativeStorageFile.cs @@ -105,12 +105,14 @@ private void CreateFile() public override IAsyncAction DeleteAsync() { - return AsyncInfo.Run(async (cancellationToken) => + return AsyncInfo.Run(_ => { - if (!NativeFileOperationsHelper.DeleteFileFromApp(Path)) + if (!PInvoke.DeleteFileFromApp(Path)) { throw new Win32Exception(Marshal.GetLastWin32Error()); } + + return Task.CompletedTask; }); } diff --git a/src/Files.App/Utils/Storage/StorageItems/ZipStorageFile.cs b/src/Files.App/Utils/Storage/StorageItems/ZipStorageFile.cs index e88a1a0b39cc..924487dd8c33 100644 --- a/src/Files.App/Utils/Storage/StorageItems/ZipStorageFile.cs +++ b/src/Files.App/Utils/Storage/StorageItems/ZipStorageFile.cs @@ -355,7 +355,7 @@ public override IAsyncAction DeleteAsync(StorageDeleteOption option) } else if (option == StorageDeleteOption.PermanentDelete) { - NativeFileOperationsHelper.DeleteFileFromApp(Path); + PInvoke.DeleteFileFromApp(Path); } else { diff --git a/src/Files.App/Utils/Storage/StorageItems/ZipStorageFolder.cs b/src/Files.App/Utils/Storage/StorageItems/ZipStorageFolder.cs index 86e31cd9b99e..4570dc586ee9 100644 --- a/src/Files.App/Utils/Storage/StorageItems/ZipStorageFolder.cs +++ b/src/Files.App/Utils/Storage/StorageItems/ZipStorageFolder.cs @@ -398,7 +398,7 @@ public override IAsyncAction DeleteAsync(StorageDeleteOption option) } else if (option == StorageDeleteOption.PermanentDelete) { - NativeFileOperationsHelper.DeleteFileFromApp(Path); + PInvoke.DeleteFileFromApp(Path); } else { diff --git a/src/Files.App/Views/Properties/GeneralPage.xaml.cs b/src/Files.App/Views/Properties/GeneralPage.xaml.cs index 2ec15dd24a61..eee1260d9961 100644 --- a/src/Files.App/Views/Properties/GeneralPage.xaml.cs +++ b/src/Files.App/Views/Properties/GeneralPage.xaml.cs @@ -8,6 +8,7 @@ using System.IO; using System.Text.RegularExpressions; using Windows.Storage; +using Windows.Win32; namespace Files.App.Views.Properties { @@ -168,7 +169,7 @@ await MainWindow.Instance.DispatcherQueue.EnqueueOrInvokeAsync(() => } if (ViewModel.IsUnblockFileSelected) - NativeFileOperationsHelper.DeleteFileFromApp($"{item.ItemPath}:Zone.Identifier"); + PInvoke.DeleteFileFromApp($"{item.ItemPath}:Zone.Identifier"); if (ViewModel.IsAblumCoverModified) {