Fixing UI thread issues with bulk operations and request queue refactoring.

This commit is contained in:
Burak Kaan Köse
2026-04-20 02:18:23 +02:00
parent 3bd0b69429
commit 54148716bb
38 changed files with 1644 additions and 206 deletions
@@ -320,6 +320,30 @@ public partial class MailItemViewModel(MailCopy mailCopy) : ObservableRecipient,
return changedFlags;
}
public MailCopyChangeFlags ApplyStateChanges(bool? isRead = null, bool? isFlagged = null)
{
var changedFlags = MailCopyChangeFlags.None;
if (isRead.HasValue && MailCopy.IsRead != isRead.Value)
{
MailCopy.IsRead = isRead.Value;
changedFlags |= MailCopyChangeFlags.IsRead;
}
if (isFlagged.HasValue && MailCopy.IsFlagged != isFlagged.Value)
{
MailCopy.IsFlagged = isFlagged.Value;
changedFlags |= MailCopyChangeFlags.IsFlagged;
}
if (changedFlags != MailCopyChangeFlags.None)
{
RaisePropertyChanges(changedFlags);
}
return changedFlags;
}
private static MailCopyChangeFlags SetIfChanged<T>(T currentValue, T newValue, Action<T> setter, MailCopyChangeFlags flag)
{
if (EqualityComparer<T>.Default.Equals(currentValue, newValue))