Skip to content

Commit 4fcbd9c

Browse files
committed
Fix Inability to Delete Multiple Items
1 parent 3b91e9e commit 4fcbd9c

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

Files UWP/Interacts/Interaction.cs

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -483,15 +483,16 @@ private static void Manager_DataRequested(DataTransferManager sender, DataReques
483483

484484
public static async void DeleteItem_Click(object sender, RoutedEventArgs e)
485485
{
486-
//MessageDialog DeleteConfirmationDialog = new MessageDialog("Are you sure you want to send " + GenericFileBrowser.data.SelectedItems.Count + " item(s) to the Recycle Bin?", "Move to Recycle Bin?");
487-
//DeleteConfirmationDialog.Commands.Add(new UICommand("Yes", new UICommandInvokedHandler(Interaction.DeleteConfirmed)));
488-
//DeleteConfirmationDialog.Commands.Add(new UICommand("Cancel"));
489-
//await DeleteConfirmationDialog.ShowAsync();
490486
try
491487
{
492488
if (page.Name == "GenericItemView")
493489
{
494-
foreach (ListedItem storItem in GenericFileBrowser.data.SelectedItems)
490+
List<ListedItem> selectedItems = new List<ListedItem>();
491+
foreach(ListedItem selectedItem in GenericFileBrowser.data.SelectedItems)
492+
{
493+
selectedItems.Add(selectedItem);
494+
}
495+
foreach (ListedItem storItem in selectedItems)
495496
{
496497
if (storItem.FileExtension != "Folder")
497498
{
@@ -507,43 +508,40 @@ public static async void DeleteItem_Click(object sender, RoutedEventArgs e)
507508
}
508509
ItemViewModel.FilesAndFolders.Remove(storItem);
509510
}
510-
//NavigationActions.Refresh_Click(null, null);
511+
Debug.WriteLine("Ended for loop");
511512
History.ForwardList.Clear();
512513
ItemViewModel.FS.isEnabled = false;
513-
// TODO: FIX SELECTION LOST (maybe?) ON ITEM REMOVAL
514-
if (GenericFileBrowser.data.SelectedItems.Count > 0)
515-
{
516-
DeleteItem_Click(null, null);
517-
}
518514
}
519515
else if (page.Name == "PhotoAlbumViewer")
520516
{
521-
foreach (ListedItem storItem in PhotoAlbum.gv.SelectedItems)
517+
List<ListedItem> selectedItems = new List<ListedItem>();
518+
foreach (ListedItem selectedItem in PhotoAlbum.gv.SelectedItems)
519+
{
520+
selectedItems.Add(selectedItem);
521+
}
522+
foreach (ListedItem storItem in selectedItems)
522523
{
523524
if (storItem.FileExtension != "Folder")
524525
{
525526
var item = await StorageFile.GetFileFromPathAsync(storItem.FilePath);
526527
await item.DeleteAsync(StorageDeleteOption.Default);
528+
527529
}
528530
else
529531
{
530532
var item = await StorageFolder.GetFolderFromPathAsync(storItem.FilePath);
531533
await item.DeleteAsync(StorageDeleteOption.Default);
534+
532535
}
533536
ItemViewModel.FilesAndFolders.Remove(storItem);
534537
}
535-
536-
//PhotoAlbumNavActions.Refresh_Click(null, null);
538+
Debug.WriteLine("Ended for loop");
537539
History.ForwardList.Clear();
538540
ItemViewModel.FS.isEnabled = false;
539541
}
540542

541543
}
542-
catch (InvalidOperationException)
543-
{
544-
545-
}
546-
catch (System.UnauthorizedAccessException)
544+
catch (UnauthorizedAccessException)
547545
{
548546
MessageDialog AccessDeniedDialog = new MessageDialog("Access Denied", "Unable to delete this item");
549547
await AccessDeniedDialog.ShowAsync();

0 commit comments

Comments
 (0)