Ground work for Wino Calendar. (#475)

Wino Calendar abstractions.
This commit is contained in:
Burak Kaan Köse
2024-11-10 23:28:25 +01:00
committed by GitHub
parent a979e8430f
commit d1d6f12f05
486 changed files with 7969 additions and 2708 deletions
@@ -1,5 +1,6 @@
using System;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.Calendar;
using Wino.Core.Domain.Models.Reader;
namespace Wino.Core.Domain.Interfaces
@@ -11,6 +12,37 @@ namespace Wino.Core.Domain.Interfaces
/// </summary>
event EventHandler<string> PreferenceChanged;
#region Common
/// <summary>
/// Setting: Whether logs are enabled or not.
/// </summary>
bool IsLoggingEnabled { get; set; }
/// <summary>
/// Setting: Display language for the application.
/// </summary>
AppLanguage CurrentLanguage { get; set; }
/// <summary>
/// Setting: Whether the navigation pane is opened on the last session or not.
/// </summary>
bool IsNavigationPaneOpened { get; set; }
/// <summary>
/// Setting: Gets or sets what should happen to server app when the client is terminated.
/// </summary>
ServerBackgroundMode ServerTerminationBehavior { get; set; }
/// <summary>
/// Setting: Preferred time format for mail or calendar header display.
/// </summary>
bool Prefer24HourTimeFormat { get; set; }
#endregion
#region Mail
/// <summary>
/// Setting: For changing the mail display container mode.
/// </summary>
@@ -21,11 +53,6 @@ namespace Wino.Core.Domain.Interfaces
/// </summary>
MailMarkAsOption MarkAsPreference { get; set; }
/// <summary>
/// Setting: Preferred time format for mail display.
/// </summary>
bool Prefer24HourTimeFormat { get; set; }
/// <summary>
/// Setting: How many seconds should be waited on rendering page to mark item as read.
/// </summary>
@@ -101,11 +128,6 @@ namespace Wino.Core.Domain.Interfaces
/// </summary>
MailOperation RightHoverAction { get; set; }
/// <summary>
/// Setting: Whether logs are enabled or not.
/// </summary>
bool IsLoggingEnabled { get; set; }
/// <summary>
/// Setting: Whether Mailkit Protocol Logger is enabled for ImapTestService or not.
/// </summary>
@@ -116,10 +138,7 @@ namespace Wino.Core.Domain.Interfaces
/// </summary>
Guid? StartupEntityId { get; set; }
/// <summary>
/// Setting: Display language for the application.
/// </summary>
AppLanguage CurrentLanguage { get; set; }
/// <summary>
/// Setting: Display font for the mail reader.
@@ -141,24 +160,31 @@ namespace Wino.Core.Domain.Interfaces
/// </summary>
int ComposerFontSize { get; set; }
/// <summary>
/// Setting: Whether the navigation pane is opened on the last session or not.
/// </summary>
bool IsNavigationPaneOpened { get; set; }
/// <summary>
/// Setting: Whether the next item should be automatically selected once the current item is moved or removed.
/// </summary>
bool AutoSelectNextItem { get; set; }
/// <summary>
/// Setting: Gets or sets what should happen to server app when the client is terminated.
/// </summary>
ServerBackgroundMode ServerTerminationBehavior { get; set; }
/// <summary>
/// Setting: Whether the mail list action bar is enabled or not.
/// </summary>
bool IsMailListActionBarEnabled { get; set; }
#endregion
#region Calendar
DayOfWeek FirstDayOfWeek { get; set; }
TimeSpan WorkingHourStart { get; set; }
TimeSpan WorkingHourEnd { get; set; }
DayOfWeek WorkingDayStart { get; set; }
DayOfWeek WorkingDayEnd { get; set; }
double HourHeight { get; set; }
CalendarSettings GetCurrentCalendarSettings();
#endregion
}
}