mirror of
https://github.com/MAKS-IT-COM/maksit-postclient.git
synced 2026-11-13 21:56:11 +01:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
07f4b61668 |
@ -6,6 +6,11 @@ The format follows [Keep a Changelog](https://keepachangelog.com/) and [Semantic
|
|||||||
|
|
||||||
## [Unreleased]
|
## [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
|
## [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.
|
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.
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Version>0.4.8</Version>
|
<Version>0.4.9</Version>
|
||||||
<Product>Postclient</Product>
|
<Product>Postclient</Product>
|
||||||
<AssemblyTitle>Postclient</AssemblyTitle>
|
<AssemblyTitle>Postclient</AssemblyTitle>
|
||||||
<Authors>Maksym Sadovnychyy</Authors>
|
<Authors>Maksym Sadovnychyy</Authors>
|
||||||
|
|||||||
@ -332,7 +332,9 @@ public sealed partial class UiCopy {
|
|||||||
|
|
||||||
public string Folders { get; init; } = "";
|
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; } = "";
|
public string SearchPlaceholder { get; init; } = "";
|
||||||
|
|
||||||
@ -846,7 +848,8 @@ public sealed partial class UiCopy {
|
|||||||
Delete = "Delete",
|
Delete = "Delete",
|
||||||
MoveTo = "Move To",
|
MoveTo = "Move To",
|
||||||
Folders = "Folders",
|
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",
|
SearchPlaceholder = "Search subject, body, attachments, labels, meaning",
|
||||||
ClearSearch = "Clear search",
|
ClearSearch = "Clear search",
|
||||||
Label = "Label",
|
Label = "Label",
|
||||||
@ -1153,7 +1156,8 @@ public sealed partial class UiCopy {
|
|||||||
Delete = "Elimina",
|
Delete = "Elimina",
|
||||||
MoveTo = "Sposta in",
|
MoveTo = "Sposta in",
|
||||||
Folders = "Cartelle",
|
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",
|
SearchPlaceholder = "Cerca oggetto, corpo, allegati, etichette, significato",
|
||||||
ClearSearch = "Cancella ricerca",
|
ClearSearch = "Cancella ricerca",
|
||||||
Label = "Etichetta",
|
Label = "Etichetta",
|
||||||
|
|||||||
@ -170,7 +170,8 @@ public sealed partial class UiCopy {
|
|||||||
Delete = "Löschen",
|
Delete = "Löschen",
|
||||||
MoveTo = "Verschieben nach",
|
MoveTo = "Verschieben nach",
|
||||||
Folders = "Ordner",
|
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",
|
SearchPlaceholder = "Betreff, Text, Anlagen, Kennzeichen, Bedeutung suchen",
|
||||||
ClearSearch = "Suche leeren",
|
ClearSearch = "Suche leeren",
|
||||||
Label = "Kennzeichen",
|
Label = "Kennzeichen",
|
||||||
|
|||||||
@ -170,7 +170,8 @@ public sealed partial class UiCopy {
|
|||||||
Delete = "Eliminar",
|
Delete = "Eliminar",
|
||||||
MoveTo = "Mover a",
|
MoveTo = "Mover a",
|
||||||
Folders = "Carpetas",
|
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",
|
SearchPlaceholder = "Buscar asunto, cuerpo, adjuntos, etiquetas, significado",
|
||||||
ClearSearch = "Borrar búsqueda",
|
ClearSearch = "Borrar búsqueda",
|
||||||
Label = "Etiqueta",
|
Label = "Etiqueta",
|
||||||
|
|||||||
@ -170,7 +170,8 @@ public sealed partial class UiCopy {
|
|||||||
Delete = "Supprimer",
|
Delete = "Supprimer",
|
||||||
MoveTo = "Déplacer vers",
|
MoveTo = "Déplacer vers",
|
||||||
Folders = "Dossiers",
|
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",
|
SearchPlaceholder = "Rechercher objet, corps, pièces, étiquettes, sens",
|
||||||
ClearSearch = "Effacer la recherche",
|
ClearSearch = "Effacer la recherche",
|
||||||
Label = "Étiquette",
|
Label = "Étiquette",
|
||||||
|
|||||||
@ -3277,7 +3277,7 @@ public partial class MainViewModel : ObservableObject, IAsyncDisposable {
|
|||||||
if (existing is null) {
|
if (existing is null) {
|
||||||
var folder = new FolderRowViewModel {
|
var folder = new FolderRowViewModel {
|
||||||
FullName = FolderNodeViewModel.AllEmailsId,
|
FullName = FolderNodeViewModel.AllEmailsId,
|
||||||
Name = Copy.AllEmails
|
Name = Copy.AllInboxes
|
||||||
};
|
};
|
||||||
FolderTree.Insert(0, FolderNodeViewModel.AllEmails(folder));
|
FolderTree.Insert(0, FolderNodeViewModel.AllEmails(folder));
|
||||||
return;
|
return;
|
||||||
@ -3289,7 +3289,7 @@ public partial class MainViewModel : ObservableObject, IAsyncDisposable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (existing.Folder is { } row)
|
if (existing.Folder is { } row)
|
||||||
row.Name = Copy.AllEmails;
|
row.Name = Copy.AllInboxes;
|
||||||
existing.NotifyCounts();
|
existing.NotifyCounts();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3312,7 +3312,7 @@ public partial class MainViewModel : ObservableObject, IAsyncDisposable {
|
|||||||
|
|
||||||
node.Folder.Total = total;
|
node.Folder.Total = total;
|
||||||
node.Folder.Unread = unread;
|
node.Folder.Unread = unread;
|
||||||
node.Folder.Name = Copy.AllEmails;
|
node.Folder.Name = Copy.AllInboxes;
|
||||||
node.NotifyCounts();
|
node.NotifyCounts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -131,11 +131,16 @@ public sealed partial class FolderNodeViewModel : ObservableObject {
|
|||||||
|
|
||||||
public string Title =>
|
public string Title =>
|
||||||
IsAllEmails
|
IsAllEmails
|
||||||
? UiLocale.Copy.AllEmails
|
? UiLocale.Copy.AllInboxes
|
||||||
: IsAccount
|
: IsAccount
|
||||||
? Mailbox?.Label ?? UiLocale.Copy.Mailbox
|
? Mailbox?.Label ?? UiLocale.Copy.Mailbox
|
||||||
: Folder?.Name ?? "";
|
: Folder?.Name ?? "";
|
||||||
|
|
||||||
|
public string Tip =>
|
||||||
|
IsAllEmails
|
||||||
|
? UiLocale.Copy.AllInboxesHint
|
||||||
|
: QuotaTip;
|
||||||
|
|
||||||
public string Glyph =>
|
public string Glyph =>
|
||||||
IsAllEmails
|
IsAllEmails
|
||||||
? "📥"
|
? "📥"
|
||||||
@ -193,6 +198,7 @@ public sealed partial class FolderNodeViewModel : ObservableObject {
|
|||||||
|
|
||||||
public void NotifyCounts() {
|
public void NotifyCounts() {
|
||||||
OnPropertyChanged(nameof(Title));
|
OnPropertyChanged(nameof(Title));
|
||||||
|
OnPropertyChanged(nameof(Tip));
|
||||||
OnPropertyChanged(nameof(Unread));
|
OnPropertyChanged(nameof(Unread));
|
||||||
OnPropertyChanged(nameof(UnreadLabel));
|
OnPropertyChanged(nameof(UnreadLabel));
|
||||||
OnPropertyChanged(nameof(HasUnread));
|
OnPropertyChanged(nameof(HasUnread));
|
||||||
|
|||||||
@ -72,7 +72,7 @@
|
|||||||
<TextBlock Text="{Binding Title}"
|
<TextBlock Text="{Binding Title}"
|
||||||
FontWeight="{Binding Weight}"
|
FontWeight="{Binding Weight}"
|
||||||
TextTrimming="CharacterEllipsis"
|
TextTrimming="CharacterEllipsis"
|
||||||
ToolTip.Tip="{Binding QuotaTip}" />
|
ToolTip.Tip="{Binding Tip}" />
|
||||||
<ProgressBar Height="3"
|
<ProgressBar Height="3"
|
||||||
Minimum="0"
|
Minimum="0"
|
||||||
Maximum="100"
|
Maximum="100"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user