Generic 404 handler for synchronizers.

This commit is contained in:
Burak Kaan Köse
2026-02-08 22:20:38 +01:00
parent 1747ed84a8
commit e559a79506
15 changed files with 258 additions and 35 deletions
@@ -188,6 +188,35 @@ public class MenuItemCollection : ObservableRangeCollection<IMenuItem>
Insert(insertIndex, accountMenuItem);
}
public bool RemoveFolderMenuItem(Guid folderId)
{
// Check root-level items.
var rootItem = this.OfType<IBaseFolderMenuItem>()
.FirstOrDefault(a => a.HandlingFolders.Any(b => b.Id == folderId));
if (rootItem != null)
{
Remove(rootItem);
return true;
}
// Check sub-items of root folders.
foreach (var rootFolder in this.OfType<IBaseFolderMenuItem>())
{
var subItem = rootFolder.SubMenuItems
.OfType<IBaseFolderMenuItem>()
.FirstOrDefault(a => a.HandlingFolders.Any(b => b.Id == folderId));
if (subItem != null)
{
rootFolder.SubMenuItems.Remove(subItem);
return true;
}
}
return false;
}
private void ClearFolderAreaMenuItems()
{
var itemsToRemove = this.Where(a => !_preservingTypesForFolderArea.Contains(a.GetType())).ToList();