Files
Wino-Mail/Wino.Core.Domain/Models/KeyboardShortcutDialogResult.cs
T

61 lines
1.6 KiB
C#
Raw Normal View History

2025-10-29 16:26:46 +01:00
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Models;
/// <summary>
/// Result returned from keyboard shortcut dialog.
/// </summary>
public class KeyboardShortcutDialogResult
{
/// <summary>
/// Whether the dialog was completed successfully.
/// </summary>
public bool IsSuccess { get; set; }
2026-03-08 13:21:42 +01:00
/// <summary>
/// The application mode selected by the user.
/// </summary>
public WinoApplicationMode Mode { get; set; } = WinoApplicationMode.Mail;
2025-10-29 16:26:46 +01:00
/// <summary>
/// The key combination entered by the user.
/// </summary>
public string Key { get; set; } = string.Empty;
/// <summary>
/// The modifier keys selected by the user.
/// </summary>
public ModifierKeys ModifierKeys { get; set; }
/// <summary>
2026-03-08 13:21:42 +01:00
/// The shortcut action selected by the user.
2025-10-29 16:26:46 +01:00
/// </summary>
2026-03-08 13:21:42 +01:00
public KeyboardShortcutAction Action { get; set; }
2025-10-29 16:26:46 +01:00
/// <summary>
/// Creates a successful result.
/// </summary>
2026-03-08 13:21:42 +01:00
public static KeyboardShortcutDialogResult Success(WinoApplicationMode mode, string key, ModifierKeys modifierKeys, KeyboardShortcutAction action)
2025-10-29 16:26:46 +01:00
{
return new KeyboardShortcutDialogResult
{
IsSuccess = true,
2026-03-08 13:21:42 +01:00
Mode = mode,
2025-10-29 16:26:46 +01:00
Key = key,
ModifierKeys = modifierKeys,
2026-03-08 13:21:42 +01:00
Action = action
2025-10-29 16:26:46 +01:00
};
}
/// <summary>
/// Creates a canceled result.
/// </summary>
public static KeyboardShortcutDialogResult Canceled()
{
return new KeyboardShortcutDialogResult
{
IsSuccess = false
};
}
2026-03-08 13:21:42 +01:00
}