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);
|
|
|
|
|
}
|
2024-07-09 01:05:16 +02:00
|
|
|
|
2025-02-16 11:54:23 +01:00
|
|
|
public interface IMergedAccountMenuItem : IAccountMenuItem
|
|
|
|
|
{
|
|
|
|
|
int MergedAccountCount { get; }
|
2024-07-09 01:05:16 +02:00
|
|
|
|
2025-02-16 11:54:23 +01:00
|
|
|
MergedInbox Parameter { get; }
|
2024-04-18 01:44:37 +02:00
|
|
|
}
|