diff --git a/CHANGELOG.md b/CHANGELOG.md index 259cc66..ad5a11b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ The format follows [Keep a Changelog](https://keepachangelog.com/) and [Semantic ## [Unreleased] +## [0.4.9] - 2026-11-05 + +### Changed +- Sidebar **All emails** renamed to **All inboxes**, with a tooltip that it only combines each account's Inbox (not labels or other folders). + ## [0.4.8] - 2026-11-05 Sidebar **All emails** combines every Inbox. Sharing an account moves its archive and sign-in secrets with the setting. IMAP no longer stalls mid-folder after a partial FETCH. diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 5d883b5..7bdacb2 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -3,7 +3,7 @@ latest enable enable - 0.4.8 + 0.4.9 Postclient Postclient Maksym Sadovnychyy diff --git a/src/MaksIT.PostClient.Shared/Localization/UiCopy.cs b/src/MaksIT.PostClient.Shared/Localization/UiCopy.cs index 06cbb73..6ec7669 100644 --- a/src/MaksIT.PostClient.Shared/Localization/UiCopy.cs +++ b/src/MaksIT.PostClient.Shared/Localization/UiCopy.cs @@ -332,7 +332,9 @@ public sealed partial class UiCopy { public string Folders { get; init; } = ""; - public string AllEmails { get; init; } = ""; + public string AllInboxes { get; init; } = ""; + + public string AllInboxesHint { get; init; } = ""; public string SearchPlaceholder { get; init; } = ""; @@ -846,7 +848,8 @@ public sealed partial class UiCopy { Delete = "Delete", MoveTo = "Move To", Folders = "Folders", - AllEmails = "All emails", + AllInboxes = "All inboxes", + AllInboxesHint = "Only each account's Inbox - not labels or other folders - so this list stays about what needs attention across mailboxes.", SearchPlaceholder = "Search subject, body, attachments, labels, meaning", ClearSearch = "Clear search", Label = "Label", @@ -1153,7 +1156,8 @@ public sealed partial class UiCopy { Delete = "Elimina", MoveTo = "Sposta in", Folders = "Cartelle", - AllEmails = "Tutte le email", + AllInboxes = "Tutte le caselle", + AllInboxesHint = "Solo la Posta in arrivo di ogni account - non etichette o altre cartelle - cosi l'elenco resta su cio che richiede attenzione tra le caselle.", SearchPlaceholder = "Cerca oggetto, corpo, allegati, etichette, significato", ClearSearch = "Cancella ricerca", Label = "Etichetta", diff --git a/src/MaksIT.PostClient.Shared/Localization/UiCopy.de.cs b/src/MaksIT.PostClient.Shared/Localization/UiCopy.de.cs index 8059749..9cce0ec 100644 --- a/src/MaksIT.PostClient.Shared/Localization/UiCopy.de.cs +++ b/src/MaksIT.PostClient.Shared/Localization/UiCopy.de.cs @@ -170,7 +170,8 @@ public sealed partial class UiCopy { Delete = "Löschen", MoveTo = "Verschieben nach", Folders = "Ordner", - AllEmails = "Alle E-Mails", + AllInboxes = "Alle Posteingange", + AllInboxesHint = "Nur der Posteingang jedes Kontos - keine Labels oder anderen Ordner - damit die Liste bei dem bleibt, was uber Konten hinweg Aufmerksamkeit braucht.", SearchPlaceholder = "Betreff, Text, Anlagen, Kennzeichen, Bedeutung suchen", ClearSearch = "Suche leeren", Label = "Kennzeichen", diff --git a/src/MaksIT.PostClient.Shared/Localization/UiCopy.es.cs b/src/MaksIT.PostClient.Shared/Localization/UiCopy.es.cs index 97df898..c87d69d 100644 --- a/src/MaksIT.PostClient.Shared/Localization/UiCopy.es.cs +++ b/src/MaksIT.PostClient.Shared/Localization/UiCopy.es.cs @@ -170,7 +170,8 @@ public sealed partial class UiCopy { Delete = "Eliminar", MoveTo = "Mover a", Folders = "Carpetas", - AllEmails = "Todos los correos", + AllInboxes = "Todas las bandejas", + AllInboxesHint = "Solo la bandeja de entrada de cada cuenta - no etiquetas u otras carpetas - para que la lista se centre en lo que requiere atencion entre cuentas.", SearchPlaceholder = "Buscar asunto, cuerpo, adjuntos, etiquetas, significado", ClearSearch = "Borrar búsqueda", Label = "Etiqueta", diff --git a/src/MaksIT.PostClient.Shared/Localization/UiCopy.fr.cs b/src/MaksIT.PostClient.Shared/Localization/UiCopy.fr.cs index 30389c4..ee94fa6 100644 --- a/src/MaksIT.PostClient.Shared/Localization/UiCopy.fr.cs +++ b/src/MaksIT.PostClient.Shared/Localization/UiCopy.fr.cs @@ -170,7 +170,8 @@ public sealed partial class UiCopy { Delete = "Supprimer", MoveTo = "Déplacer vers", Folders = "Dossiers", - AllEmails = "Tous les courriers", + AllInboxes = "Toutes les boites", + AllInboxesHint = "Uniquement la boite de reception de chaque compte - pas les libelles ni les autres dossiers - pour garder la liste sur ce qui demande de l'attention.", SearchPlaceholder = "Rechercher objet, corps, pièces, étiquettes, sens", ClearSearch = "Effacer la recherche", Label = "Étiquette", diff --git a/src/MaksIT.PostClient.UI/ViewModels/MainViewModel.cs b/src/MaksIT.PostClient.UI/ViewModels/MainViewModel.cs index 859c3b4..53aec1c 100644 --- a/src/MaksIT.PostClient.UI/ViewModels/MainViewModel.cs +++ b/src/MaksIT.PostClient.UI/ViewModels/MainViewModel.cs @@ -3277,7 +3277,7 @@ public partial class MainViewModel : ObservableObject, IAsyncDisposable { if (existing is null) { var folder = new FolderRowViewModel { FullName = FolderNodeViewModel.AllEmailsId, - Name = Copy.AllEmails + Name = Copy.AllInboxes }; FolderTree.Insert(0, FolderNodeViewModel.AllEmails(folder)); return; @@ -3289,7 +3289,7 @@ public partial class MainViewModel : ObservableObject, IAsyncDisposable { } if (existing.Folder is { } row) - row.Name = Copy.AllEmails; + row.Name = Copy.AllInboxes; existing.NotifyCounts(); } @@ -3312,7 +3312,7 @@ public partial class MainViewModel : ObservableObject, IAsyncDisposable { node.Folder.Total = total; node.Folder.Unread = unread; - node.Folder.Name = Copy.AllEmails; + node.Folder.Name = Copy.AllInboxes; node.NotifyCounts(); } diff --git a/src/MaksIT.PostClient.UI/ViewModels/RowViewModels.cs b/src/MaksIT.PostClient.UI/ViewModels/RowViewModels.cs index 07e6834..e8dc9ac 100644 --- a/src/MaksIT.PostClient.UI/ViewModels/RowViewModels.cs +++ b/src/MaksIT.PostClient.UI/ViewModels/RowViewModels.cs @@ -131,11 +131,16 @@ public sealed partial class FolderNodeViewModel : ObservableObject { public string Title => IsAllEmails - ? UiLocale.Copy.AllEmails + ? UiLocale.Copy.AllInboxes : IsAccount ? Mailbox?.Label ?? UiLocale.Copy.Mailbox : Folder?.Name ?? ""; + public string Tip => + IsAllEmails + ? UiLocale.Copy.AllInboxesHint + : QuotaTip; + public string Glyph => IsAllEmails ? "📥" @@ -193,6 +198,7 @@ public sealed partial class FolderNodeViewModel : ObservableObject { public void NotifyCounts() { OnPropertyChanged(nameof(Title)); + OnPropertyChanged(nameof(Tip)); OnPropertyChanged(nameof(Unread)); OnPropertyChanged(nameof(UnreadLabel)); OnPropertyChanged(nameof(HasUnread)); diff --git a/src/MaksIT.PostClient.UI/Views/Mail/FolderPaneView.axaml b/src/MaksIT.PostClient.UI/Views/Mail/FolderPaneView.axaml index 65228ca..d4ebdae 100644 --- a/src/MaksIT.PostClient.UI/Views/Mail/FolderPaneView.axaml +++ b/src/MaksIT.PostClient.UI/Views/Mail/FolderPaneView.axaml @@ -72,7 +72,7 @@ + ToolTip.Tip="{Binding Tip}" />