예제 #1
0
 /// <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
     });
 }
예제 #2
0
        /// <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
            });
        }