diff --git a/Wino.Core.Domain/Translations/en_US/resources.json b/Wino.Core.Domain/Translations/en_US/resources.json index cf17e781..f43a9acc 100644 --- a/Wino.Core.Domain/Translations/en_US/resources.json +++ b/Wino.Core.Domain/Translations/en_US/resources.json @@ -898,7 +898,7 @@ "FolderCustomization_Hide": "Hide from navigation", "FolderCustomization_Reset": "Reset to defaults", "FolderCustomization_ResetConfirmTitle": "Reset folder layout", - "FolderCustomization_ResetConfirmMessage": "This will clear any custom folder order and restore the default alphabetic layout for this account. Hidden folders will become visible again. Continue?", + "FolderCustomization_ResetConfirmMessage": "This will clear any custom folder order and restore the default special-folder layout for this account. Hidden folders will become visible again. Continue?", "FolderCustomization_EmptySection": "Drag folders here to add them to this section.", "SettingsEditAccountDetails_Title": "Edit Account Details", "SettingsEditAccountDetails_Description": "Change account name, sender name and assign a new color if you like.", diff --git a/Wino.Mail.ViewModels/AccountDetailsPageViewModel.cs b/Wino.Mail.ViewModels/AccountDetailsPageViewModel.cs index 21e865a1..2d8bfac5 100644 --- a/Wino.Mail.ViewModels/AccountDetailsPageViewModel.cs +++ b/Wino.Mail.ViewModels/AccountDetailsPageViewModel.cs @@ -292,10 +292,15 @@ public partial class AccountDetailsPageViewModel : MailBaseViewModel var folderStructures = (await _folderService.GetFolderStructureForAccountAsync(Account.Id, true)).Folders; - foreach (var folder in folderStructures) + await ExecuteUIThread(() => { - CurrentFolders.Add(folder); - } + CurrentFolders.Clear(); + + foreach (var folder in folderStructures) + { + CurrentFolders.Add(folder); + } + }); // Load calendar list await LoadAccountCalendarsAsync(); diff --git a/Wino.Mail.ViewModels/AccountSetupProgressPageViewModel.cs b/Wino.Mail.ViewModels/AccountSetupProgressPageViewModel.cs index b036d94b..6af8b2ca 100644 --- a/Wino.Mail.ViewModels/AccountSetupProgressPageViewModel.cs +++ b/Wino.Mail.ViewModels/AccountSetupProgressPageViewModel.cs @@ -8,10 +8,10 @@ using Serilog; using Wino.Core.Domain; using Wino.Core.Domain.Entities.Shared; using Wino.Core.Domain.Enums; +using Wino.Core.Domain.Exceptions; using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Models.Accounts; using Wino.Core.Domain.Models.Calendar; -using Wino.Core.Domain.Exceptions; using Wino.Core.Domain.Models.Navigation; using Wino.Core.Domain.Models.Synchronization; using Wino.Core.Services; @@ -221,7 +221,7 @@ public partial class AccountSetupProgressPageViewModel : MailBaseViewModel if (!string.IsNullOrEmpty(profileResult.ProfileInformation.AccountAddress)) { - if (await _accountService.AccountAddressExistsAsync(profileResult.ProfileInformation.AccountAddress, _createdAccount.Id).ConfigureAwait(false)) + if (await _accountService.AccountAddressExistsAsync(profileResult.ProfileInformation.AccountAddress, _createdAccount.Id)) throw new InvalidOperationException(Translator.DialogMessage_AccountAddressExistsMessage); _createdAccount.Address = profileResult.ProfileInformation.AccountAddress; diff --git a/Wino.Mail.ViewModels/ProviderSelectionPageViewModel.cs b/Wino.Mail.ViewModels/ProviderSelectionPageViewModel.cs index ed5c2b4f..8d1dd0a9 100644 --- a/Wino.Mail.ViewModels/ProviderSelectionPageViewModel.cs +++ b/Wino.Mail.ViewModels/ProviderSelectionPageViewModel.cs @@ -118,7 +118,7 @@ public partial class ProviderSelectionPageViewModel : MailBaseViewModel { if (!CanProceed) return; - if (await _accountService.AccountNameExistsAsync(AccountName).ConfigureAwait(false)) + if (await _accountService.AccountNameExistsAsync(AccountName)) { await _dialogService.ShowMessageAsync( Translator.DialogMessage_AccountNameExistsMessage, diff --git a/Wino.Mail.WinUI/Helpers/XamlHelpers.cs b/Wino.Mail.WinUI/Helpers/XamlHelpers.cs index 695cea3a..88cc1c9e 100644 --- a/Wino.Mail.WinUI/Helpers/XamlHelpers.cs +++ b/Wino.Mail.WinUI/Helpers/XamlHelpers.cs @@ -52,6 +52,7 @@ public static class XamlHelpers public static Visibility CountToVisibilityConverterWithThreshold(int value, int threshold) => value > threshold ? Visibility.Visible : Visibility.Collapsed; public static ListViewSelectionMode BoolToSelectionMode(bool isSelectionMode) => isSelectionMode ? ListViewSelectionMode.Multiple : ListViewSelectionMode.None; public static string BoolToSelectionModeText(bool isSelectionMode) => isSelectionMode ? Translator.Buttons_Cancel : Translator.Buttons_Multiselect; + public static string ConditionalString(bool condition, string trueValue, string falseValue) => condition ? trueValue : falseValue; public static Microsoft.UI.Xaml.Media.Imaging.BitmapImage? Base64ToBitmapImage(string base64String) { diff --git a/Wino.Mail.WinUI/Package.appxmanifest b/Wino.Mail.WinUI/Package.appxmanifest index 446fc305..4d468418 100644 --- a/Wino.Mail.WinUI/Package.appxmanifest +++ b/Wino.Mail.WinUI/Package.appxmanifest @@ -22,7 +22,7 @@ diff --git a/Wino.Mail.WinUI/Views/Account/AccountDetailsPage.xaml b/Wino.Mail.WinUI/Views/Account/AccountDetailsPage.xaml index e3119aa3..74a66ff2 100644 --- a/Wino.Mail.WinUI/Views/Account/AccountDetailsPage.xaml +++ b/Wino.Mail.WinUI/Views/Account/AccountDetailsPage.xaml @@ -221,11 +221,11 @@ - - - - - + @@ -264,13 +256,22 @@ + + + + + - - + IsChecked="{x:Bind IsHidden, Mode=OneWay}" + ToolTipService.ToolTip="{x:Bind helpers:XamlHelpers.ConditionalString(IsHidden, domain:Translator.FolderCustomization_Show, domain:Translator.FolderCustomization_Hide), Mode=OneWay}"> + +