Implemented a new dialog for account re-ordering and required apis.

This commit is contained in:
Burak Kaan Köse
2024-06-09 02:37:30 +02:00
parent f4e81aca9d
commit c7781d2e75
14 changed files with 241 additions and 8 deletions

View File

@@ -39,7 +39,8 @@ namespace Wino.Mail.ViewModels
IRecipient<RefreshUnreadCountsMessage>,
IRecipient<AccountsMenuRefreshRequested>,
IRecipient<MergedInboxRenamed>,
IRecipient<LanguageChanged>
IRecipient<LanguageChanged>,
IRecipient<AccountMenuItemsReordered>
{
#region Menu Items
@@ -1059,5 +1060,19 @@ namespace Wino.Mail.ViewModels
ChangeLoadedAccount(latestSelectedAccountMenuItem, navigateInbox: false);
}
private void ReorderAccountMenuItems(Dictionary<Guid, int> newAccountOrder)
{
foreach (var item in newAccountOrder)
{
var menuItem = MenuItems.GetAccountMenuItem(item.Key);
if (menuItem == null) continue;
MenuItems.Move(MenuItems.IndexOf(menuItem), item.Value);
}
}
public void Receive(AccountMenuItemsReordered message) => ReorderAccountMenuItems(message.newOrderDictionary);
}
}