Merge read receipt tracking work

This commit is contained in:
Burak Kaan Köse
2026-04-11 21:03:22 +02:00
29 changed files with 692 additions and 21 deletions
@@ -124,6 +124,9 @@ public partial class ComposePageViewModel : MailBaseViewModel,
[ObservableProperty]
public partial bool IsSmimeEncryptionEnabled { get; set; }
[ObservableProperty]
public partial bool IsReadReceiptRequested { get; set; }
[ObservableProperty]
public partial X509Certificate2 SelectedSigningCertificate { get; set; }
@@ -422,6 +425,7 @@ public partial class ComposePageViewModel : MailBaseViewModel,
SaveImportance();
SaveSubject();
SaveFromAddress();
SaveReadReceiptRequest();
SaveReplyToAddress();
await SaveAttachmentsAsync();
@@ -753,6 +757,9 @@ public partial class ComposePageViewModel : MailBaseViewModel,
IsCCBCCVisible = true;
Subject = replyingMime.Subject;
IsReadReceiptRequested = replyingMime.HasReadReceiptRequest();
Messenger.Send(new CreateNewComposeMailRequested(renderModel));
});
if (RenderHtmlBodyAsyncFunc != null)
@@ -818,6 +825,15 @@ public partial class ComposePageViewModel : MailBaseViewModel,
}
}
private void SaveReadReceiptRequest()
{
if (CurrentMimeMessage == null)
return;
var receiptAddress = SelectedAlias?.AliasAddress ?? ComposingAccount?.Address ?? string.Empty;
CurrentMimeMessage.SetReadReceiptRequest(receiptAddress, IsReadReceiptRequested);
}
private void SaveAddressInfo(IEnumerable<AccountContact> addresses, InternetAddressList list)
{
list.Clear();