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
|
|
|
}
|