using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Models;
///
/// Result returned from keyboard shortcut dialog.
///
public class KeyboardShortcutDialogResult
{
///
/// Whether the dialog was completed successfully.
///
public bool IsSuccess { get; set; }
///
/// The application mode selected by the user.
///
public WinoApplicationMode Mode { get; set; } = WinoApplicationMode.Mail;
///
/// The key combination entered by the user.
///
public string Key { get; set; } = string.Empty;
///
/// The modifier keys selected by the user.
///
public ModifierKeys ModifierKeys { get; set; }
///
/// The shortcut action selected by the user.
///
public KeyboardShortcutAction Action { get; set; }
///
/// Creates a successful result.
///
public static KeyboardShortcutDialogResult Success(WinoApplicationMode mode, string key, ModifierKeys modifierKeys, KeyboardShortcutAction action)
{
return new KeyboardShortcutDialogResult
{
IsSuccess = true,
Mode = mode,
Key = key,
ModifierKeys = modifierKeys,
Action = action
};
}
///
/// Creates a canceled result.
///
public static KeyboardShortcutDialogResult Canceled()
{
return new KeyboardShortcutDialogResult
{
IsSuccess = false
};
}
}