using System; using System.ComponentModel; using Wino.Core.Domain.Enums; namespace Wino.Core.Domain.Interfaces; public interface IStatePersistanceService : INotifyPropertyChanged { event EventHandler StatePropertyChanged; /// /// True when there is an active renderer for selected mail. /// bool IsReadingMail { get; set; } /// /// Shell's app bar title string. /// string CoreWindowTitle { get; set; } /// /// App mode title shown in the title bar. /// string AppModeTitle { get; set; } /// /// When only reader page is visible in small sized window. /// bool IsReaderNarrowed { get; set; } /// /// Current application mode (Mail or Calendar). /// Not persisted to configuration, only kept in memory. /// WinoApplicationMode ApplicationMode { get; set; } /// /// Whether event details page is visible in Calendar mode. /// bool IsEventDetailsVisible { get; set; } /// /// Setting: Opened pane length for the navigation view. /// double OpenPaneLength { get; set; } /// /// Whether the mail rendering page should be shifted from top to adjust the design /// for standalone EML viewer or not. /// bool ShouldShiftMailRenderingDesign { get; set; } /// /// Setting: Mail list pane length for listing mails. /// double MailListPaneLength { get; set; } /// /// Setting: Calendar display type. /// CalendarDisplayType CalendarDisplayType { get; set; } /// /// Setting: Calendar display count for the day view. /// int DayDisplayCount { get; set; } }