Files
Wino-Mail/Wino.Core.Domain/Interfaces/IAccountMenuItem.cs
T

42 lines
1.1 KiB
C#
Raw Normal View History

2024-04-18 01:44:37 +02:00
using System.Collections.Generic;
2024-11-10 23:28:25 +01:00
using Wino.Core.Domain.Entities.Mail;
using Wino.Core.Domain.Entities.Shared;
2024-04-18 01:44:37 +02:00
2025-02-16 11:54:23 +01:00
namespace Wino.Core.Domain.Interfaces;
public interface IAccountMenuItem : IMenuItem
2024-04-18 01:44:37 +02:00
{
2025-02-16 11:54:23 +01:00
bool IsEnabled { get; set; }
2025-10-31 00:51:27 +01:00
/// <summary>
/// Calculated synchronization progress percentage (0-100). -1 for indeterminate.
/// </summary>
double SynchronizationProgress { get; }
/// <summary>
/// Total items to sync. 0 for indeterminate progress.
/// </summary>
int TotalItemsToSync { get; set; }
/// <summary>
/// Remaining items to sync.
/// </summary>
int RemainingItemsToSync { get; set; }
/// <summary>
/// Current synchronization status message.
/// </summary>
string SynchronizationStatus { get; set; }
2025-02-16 11:54:23 +01:00
int UnreadItemCount { get; set; }
IEnumerable<MailAccount> HoldingAccounts { get; }
void UpdateAccount(MailAccount account);
}
2025-02-16 11:54:23 +01:00
public interface IMergedAccountMenuItem : IAccountMenuItem
{
int MergedAccountCount { get; }
2025-02-16 11:54:23 +01:00
MergedInbox Parameter { get; }
2024-04-18 01:44:37 +02:00
}