using System; using SQLite; using Wino.Core.Domain.Enums; namespace Wino.Core.Domain.Entities.Shared; /// /// Represents a user-defined keyboard shortcut for mail operations. /// public class KeyboardShortcut { [PrimaryKey] public Guid Id { get; set; } /// /// The key combination string (e.g., "D", "Delete", "F1"). /// public string Key { get; set; } /// /// The modifier keys for this shortcut. /// public ModifierKeys ModifierKeys { get; set; } /// /// The mail operation this shortcut triggers. /// public MailOperation MailOperation { get; set; } /// /// Whether this shortcut is enabled. /// public bool IsEnabled { get; set; } = true; /// /// When this shortcut was created. /// public DateTime CreatedAt { get; set; } = DateTime.UtcNow; /// /// User-friendly display name for the shortcut. /// public string DisplayName { get { var modifierText = string.Empty; if (ModifierKeys.HasFlag(ModifierKeys.Control)) modifierText += "Ctrl+"; if (ModifierKeys.HasFlag(ModifierKeys.Alt)) modifierText += "Alt+"; if (ModifierKeys.HasFlag(ModifierKeys.Shift)) modifierText += "Shift+"; if (ModifierKeys.HasFlag(ModifierKeys.Windows)) modifierText += "Win+"; return modifierText + Key; } } }