Fixing an issue where doing folder config on account does not refresh the folder list.
This commit is contained in:
@@ -38,7 +38,8 @@ namespace Wino.Mail.ViewModels
|
||||
IRecipient<LanguageChanged>,
|
||||
IRecipient<AccountMenuItemsReordered>,
|
||||
IRecipient<AccountSynchronizationProgressUpdatedMessage>,
|
||||
IRecipient<NavigateAppPreferencesRequested>
|
||||
IRecipient<NavigateAppPreferencesRequested>,
|
||||
IRecipient<AccountFolderConfigurationUpdated>
|
||||
{
|
||||
#region Menu Items
|
||||
|
||||
@@ -631,6 +632,9 @@ namespace Wino.Mail.ViewModels
|
||||
|
||||
await MenuItems.SetAccountMenuItemEnabledStatusAsync(false);
|
||||
|
||||
// Load account folder structure and replace the visible folders.
|
||||
var folders = await _folderService.GetAccountFoldersForDisplayAsync(clickedBaseAccountMenuItem);
|
||||
|
||||
await ExecuteUIThread(() =>
|
||||
{
|
||||
clickedBaseAccountMenuItem.IsEnabled = false;
|
||||
@@ -643,12 +647,10 @@ namespace Wino.Mail.ViewModels
|
||||
clickedBaseAccountMenuItem.IsSelected = true;
|
||||
|
||||
latestSelectedAccountMenuItem = clickedBaseAccountMenuItem;
|
||||
|
||||
MenuItems.ReplaceFolders(folders);
|
||||
});
|
||||
|
||||
// Load account folder structure and replace the visible folders.
|
||||
var folders = await _folderService.GetAccountFoldersForDisplayAsync(clickedBaseAccountMenuItem);
|
||||
|
||||
await MenuItems.ReplaceFoldersAsync(folders);
|
||||
await UpdateUnreadItemCountAsync();
|
||||
await MenuItems.SetAccountMenuItemEnabledStatusAsync(true);
|
||||
|
||||
@@ -955,6 +957,16 @@ namespace Wino.Mail.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
public async void Receive(AccountFolderConfigurationUpdated message)
|
||||
{
|
||||
// Reloading of folders is needed to re-create folder tree if the account is loaded.
|
||||
|
||||
if (MenuItems.TryGetAccountMenuItem(message.AccountId, out IAccountMenuItem accountMenuItem))
|
||||
{
|
||||
await ChangeLoadedAccountAsync(accountMenuItem, true);
|
||||
}
|
||||
}
|
||||
|
||||
public async void Receive(MergedInboxRenamed message)
|
||||
{
|
||||
var mergedInboxMenuItem = MenuItems.FirstOrDefault(a => a.EntityId == message.MergedInboxId);
|
||||
|
||||
Reference in New Issue
Block a user