示例#1
0
 private PolyGesture(Key key, ExtendedMouseAction mouseAction, ModifierKeys modifierKeys, GestureType type)
 {
     Key          = key;
     MouseAction  = mouseAction;
     ModifierKeys = modifierKeys;
     Type         = type;
 }
 public HotkeyInformation(Key key, ExtendedMouseAction mouseAction, ModifierKeys modifiers, GestureType gestureType)
 {
     Key         = key;
     MouseAction = mouseAction;
     Modifiers   = modifiers;
     Type        = gestureType;
 }
 public ActionRecorderEventArgs(Key key, ExtendedMouseAction action, ModifierKeys modifiers, ActionRecorder.ActionType resultType)
 {
     Key        = key;
     Action     = action;
     Modifiers  = modifiers;
     ResultType = resultType;
 }
        public void Convert_PassedKnownValue_ShouldReturnCorrectValue(ExtendedMouseAction input, Visibility expected)
        {
            // Arrange
            var converter = new ExtendedMouseActionToVisibilityConverter();

            // Act
            var result = converter.Convert(input, typeof(Visibility), null, CultureInfo.CurrentCulture);

            // Assert
            Assert.Equal(expected, result);
        }
        public void Convert_PassedUnknownOrNoneValue_ShouldReturnNull(ExtendedMouseAction input)
        {
            // Arrange
            var converter = new ExtendedMouseActionToVisibilityConverter();

            // Act
            var result = converter.Convert(input, typeof(Visibility), null, CultureInfo.CurrentCulture);

            // Assert
            Assert.Null(result);
        }
示例#6
0
 private static InputBinding GetInputBinding(ExtendedMouseAction mouseAction, ModifierKeys modifierKeys)
 {
     return(new InputBinding(emptyCommand, new PolyGesture(mouseAction, modifierKeys)));
 }
示例#7
0
 private static InputBinding GetInputBinding(ExtendedMouseAction mouseAction)
 {
     return(GetInputBinding(mouseAction, ModifierKeys.None));
 }
示例#8
0
        public void UpdateHotkey_KeyOrMouseUpdated_ShouldSyncToObservableCollection(string id, InputBinding expectedBinding, Key expectedKey, ModifierKeys expectedModifierKeys, ExtendedMouseAction expectedMouseAction)
        {
            //Arrange
            var hotkeyCommandManager = GetMockedHotkeyCommandManager();

            //Act
            hotkeyCommandManager.AddHotkey(id, expectedBinding);

            var gesture = expectedBinding.Gesture as PolyGesture;

            gesture.Key          = expectedKey;
            gesture.ModifierKeys = expectedModifierKeys;
            gesture.MouseAction  = expectedMouseAction;

            if (expectedMouseAction != default)
            {
                gesture.Type = GestureType.MouseGesture;
            }
            else
            {
                gesture.Type = GestureType.KeyGesture;
            }

            //if (expectedBinding is KeyBinding keyBinding)
            //{
            //    //change binding from a KeyBinding to a MouseBinding
            //    if (expectedMouseAction != default)
            //    {
            //        var hotkey = hotkeyCommandManager.GetHotkey(id);
            //        hotkey.Binding = new MouseBinding(emptyCommand, new MouseGesture(expectedMouseAction, expectedModifierKeys));
            //        expectedBinding = hotkey.Binding;
            //    }
            //    else
            //    {
            //        keyBinding.Key = expectedKey;
            //        keyBinding.Modifiers = expectedModifierKeys;
            //    }
            //}
            //else
            //{
            //    var mouseBinding = expectedBinding as MouseBinding;

            //    //Change binding from a MouseBinding to a KeyBinding
            //    if (expectedKey != default)
            //    {
            //        var hotkey = hotkeyCommandManager.GetHotkey(id);
            //        hotkey.Binding = new KeyBinding
            //        {
            //            Command = emptyCommand,
            //            Key = expectedKey,
            //            Modifiers = expectedModifierKeys
            //        };
            //        expectedBinding = hotkey.Binding;
            //    }
            //    else
            //    {
            //        //Can't set the Modifiers property without creating a new MouseGesture.
            //        mouseBinding.Gesture = new MouseGesture(expectedMouseAction, expectedModifierKeys);
            //    }
            //}

            var actualBinding = hotkeyCommandManager.ObservableCollection.First().Binding;

            //Assert

            Assert.Same(expectedBinding, actualBinding);
            var actualGesture   = actualBinding.Gesture as PolyGesture;
            var expectedGesture = expectedBinding.Gesture as PolyGesture;

            AssertPolyGestureMatches(expectedGesture, actualGesture);
        }
示例#9
0
 public PolyGesture(ExtendedMouseAction mouseAction, ModifierKeys modifierKeys) : this(default, mouseAction, modifierKeys, GestureType.MouseGesture)
 {
 }
 public ExtendedMouseGesture(ExtendedMouseAction mouseAction, ModifierKeys modifiers)
     : base(ConvertExtendedMouseAction(mouseAction), modifiers)
 {
     extendedMouseAction = mouseAction;
 }
示例#11
0
 public ExtendedMouseGesture(ExtendedMouseAction mouseAction, ModifierKeys modifiers)
     : base(ConvertExtendedMouseAction(mouseAction), modifiers)
 {
     extendedMouseAction = mouseAction;
 }
示例#12
0
 public ExtendedMouseGesture(ExtendedMouseAction mouseAction) : 
     this(mouseAction, ModifierKeys.None)
 {
 }
 public HotkeyInformation(ExtendedMouseAction mouseAction, ModifierKeys modifiers) : this(default, mouseAction, modifiers, GestureType.MouseGesture)
 {
 }
 public HotkeyInformation(ExtendedMouseAction mouseAction) : this(mouseAction, ModifierKeys.None)
 {
 }
示例#15
0
        public void LoadSettings_IsCalled_ShouldLoadRemappedHotkeys(string id, Key key, ModifierKeys modifiers, Key expectedKey, ModifierKeys expectedModifiers, ExtendedMouseAction expectedMouseAction, GestureType expectedType, string settingsString)
        {
            // Arrange
            var appSettings = new Mock <IAppSettings>();

            appSettings.SetupAllProperties();

            var command = Mock.Of <ICommand>(c => c.CanExecute(It.IsAny <object>()) == true);

            var viewModel = GetViewModel(null, appSettings.Object);

            appSettings.Setup(x => x.HotkeyMappings).Returns(settingsString);

            // Act
            viewModel.LoadSettings();

            viewModel.HotkeyCommandManager.AddHotkey(id, new InputBinding(command, new PolyGesture(key, modifiers)));
            var gesture = viewModel.HotkeyCommandManager.GetHotkey(id).Binding.Gesture as PolyGesture;

            // Assert
            Assert.Equal(expectedKey, gesture.Key);
            Assert.Equal(expectedModifiers, gesture.ModifierKeys);
            Assert.Equal(expectedMouseAction, gesture.MouseAction);
            Assert.Equal(expectedType, gesture.Type);
        }
 public ExtendedMouseGesture(ExtendedMouseAction mouseAction) :
     this(mouseAction, ModifierKeys.None)
 {
 }
示例#17
0
 private static MouseAction ConvertExtendedMouseAction(ExtendedMouseAction action)
 {
     return action.In(ExtendedMouseAction.XButton1Click, ExtendedMouseAction.XButton2Click)
                ? MouseAction.None
                : (MouseAction) action;
 }
 private static MouseAction ConvertExtendedMouseAction(ExtendedMouseAction action)
 {
     return(action.In(ExtendedMouseAction.XButton1Click, ExtendedMouseAction.XButton2Click)
                ? MouseAction.None
                : (MouseAction)action);
 }
示例#19
0
 public PolyGesture(ExtendedMouseAction mouseAction) : this(mouseAction, default)
 {
 }