/// <summary> /// Converts a extension hot key action to a hotkey. /// </summary> /// <param name="hotKeyAction">The hot key action.</param> /// <param name="extension">The extension.</param> /// <returns>The hotkey.</returns> public static HotKey FromExtensionHotKeyAction(IExtensionHotKeyAction hotKeyAction, IExtension extension = null) { return(new HotKey( hotKeyAction.DefaultHotKey.FirstModifier, hotKeyAction.DefaultHotKey.SecondModifier, hotKeyAction.DefaultHotKey.HotKey) { Action = hotKeyAction, Extension = extension }); }
/// <summary> /// Creates a hotkey from the definition. /// </summary> /// <param name="hotKeyDefinition">The hot key definition.</param> /// <param name="action">The action.</param> /// <param name="extension">The extension.</param> /// <returns>The hotkey.</returns> public static HotKey FromDefinition(HotKeyDefinition hotKeyDefinition, IExtensionHotKeyAction action = null, IExtension extension = null) { var definition = hotKeyDefinition.Definition; var definitionParts = definition.Split('|'); var firstModifier = definitionParts[0]; var secondModifier = definitionParts[1]; var key = definitionParts[2]; return(new HotKey { ModifierKey = (HotKeyModifier)Enum.Parse(typeof(HotKeyModifier), firstModifier), SecondModifierKey = (HotKeyModifier)Enum.Parse(typeof(HotKeyModifier), secondModifier), Key = (Framework.Enums.HotKey)Enum.Parse(typeof(Framework.Enums.HotKey), key), Action = action, Extension = extension }); }