using MareSynchronos.MareConfiguration.Models; using Microsoft.Extensions.Logging; namespace MareSynchronos.MareConfiguration.Configurations; [Serializable] public class MareConfig : IMareConfiguration { public bool AcceptedAgreement { get; set; } = false; public string CacheFolder { get; set; } = string.Empty; public bool DisableOptionalPluginWarnings { get; set; } = false; public bool EnableRightClickMenus { get; set; } = true; public NotificationLocation ErrorNotification { get; set; } = NotificationLocation.Both; public string ExportFolder { get; set; } = string.Empty; public bool FileScanPaused { get; set; } = false; public NotificationLocation InfoNotification { get; set; } = NotificationLocation.Toast; public bool InitialScanComplete { get; set; } = false; public LogLevel LogLevel { get; set; } = LogLevel.Information; public bool LogPerformance { get; set; } = false; public double MaxLocalCacheInGiB { get; set; } = 20; public bool OpenGposeImportOnGposeStart { get; set; } = false; public bool OpenPopupOnAdd { get; set; } = true; public int ParallelDownloads { get; set; } = 10; public float ProfileDelay { get; set; } = 1.5f; public bool ProfilePopoutRight { get; set; } = false; public bool ProfilesAllowNsfw { get; set; } = false; public bool ProfilesShow { get; set; } = true; public bool ReverseUserSort { get; set; } = false; public bool ShowCharacterNameInsteadOfNotesForVisible { get; set; } = false; public bool PreferNotesOverNamesForVisible { get; set; } = false; public bool ShowOfflineUsersSeparately { get; set; } = true; public bool ShowOnlineNotifications { get; set; } = false; public bool ShowOnlineNotificationsOnlyForIndividualPairs { get; set; } = true; public bool ShowOnlineNotificationsOnlyForNamedPairs { get; set; } = false; public bool ShowTransferBars { get; set; } = true; public bool ShowTransferWindow { get; set; } = false; public bool ShowUploading { get; set; } = true; public bool ShowUploadingBigText { get; set; } = true; public bool ShowVisibleUsersSeparately { get; set; } = true; public int TimeSpanBetweenScansInSeconds { get; set; } = 30; public int TransferBarsHeight { get; set; } = 12; public bool TransferBarsShowText { get; set; } = true; public int TransferBarsWidth { get; set; } = 250; public bool UseAlternativeFileUpload { get; set; } = false; public int Version { get; set; } = 1; public NotificationLocation WarningNotification { get; set; } = NotificationLocation.Both; }