General account details settings and some marking mail issues

This commit is contained in:
Burak Kaan Köse
2026-04-01 01:41:17 +02:00
parent 6f61605c12
commit 7b369201b0
11 changed files with 536 additions and 435 deletions
+4 -2
View File
@@ -12,6 +12,8 @@ namespace Wino.Core.Requests.Mail;
public record ChangeFlagRequest(MailCopy Item, bool IsFlagged) : MailRequestBase(Item),
ICustomFolderSynchronizationRequest
{
private readonly bool _originalIsFlagged = Item.IsFlagged;
public List<Guid> SynchronizationFolderIds => [Item.FolderId];
public bool ExcludeMustHaveFolders => true;
@@ -22,7 +24,7 @@ public record ChangeFlagRequest(MailCopy Item, bool IsFlagged) : MailRequestBase
/// Gets whether this request represents an actual state change.
/// If the mail is already in the desired flagged state, no change is needed.
/// </summary>
public bool IsNoOp => Item.IsFlagged == IsFlagged;
public bool IsNoOp { get; } = Item.IsFlagged == IsFlagged;
public override void ApplyUIChanges()
{
@@ -39,7 +41,7 @@ public record ChangeFlagRequest(MailCopy Item, bool IsFlagged) : MailRequestBase
// Skip UI revert if this was a no-op request
if (IsNoOp) return;
Item.IsFlagged = !IsFlagged;
Item.IsFlagged = _originalIsFlagged;
WeakReferenceMessenger.Default.Send(new MailUpdatedMessage(Item, MailUpdateSource.ClientReverted, MailCopyChangeFlags.IsFlagged));
}