private void btnEdit_Click(object sender, EventArgs e)
 {
     if (dgvHotkeys.SelectedRows.Count > 0)
     {
         Hotkey selectedHotkey = (Hotkey)dgvHotkeys.SelectedRows[0].DataBoundItem;
         if (selectedHotkey != null)
         {
             Form        hotkeyEdit     = HotkeyEditFormFactory.GetHotkeyEditForm(selectedHotkey.Command, selectedHotkey);
             IHotkeyForm hotkeyEditConv = null;
             if (hotkeyEdit is IHotkeyForm)
             {
                 hotkeyEditConv = (IHotkeyForm)hotkeyEdit;
             }
             else
             {
                 throw new Exception("Somehow the form doesn't cast to IHotkeyForm. Developer bad! Bad developer!");
             }
             DialogResult result = hotkeyEdit.ShowDialog();
             if (result == System.Windows.Forms.DialogResult.OK)
             {
                 Hotkeys.Remove(selectedHotkey);
                 RemovedHotkeys.Add(selectedHotkey);
                 Hotkeys.Add(hotkeyEditConv.Hotkey);
                 AddedHotkeys.Add(hotkeyEditConv.Hotkey);
             }
         }
     }
 }
示例#2
0
        private void AddHotkeyCommandExecute([NotNull] object obj)
        {
            Assert.ArgumentNotNull(obj, "obj");

            var oldHotkey = new Hotkey();

            oldHotkey.Actions.Add(new SendTextAction());
            var hotKeyToAdd      = new GlobalHotkeyViewModel(oldHotkey, _actionDescriptions);
            var hotKeyEditDialog = new GlobalHotkeyEditDialog {
                DataContext = hotKeyToAdd, Owner = (Window)obj
            };

            var dialogResult = hotKeyEditDialog.ShowDialog();

            if (dialogResult.HasValue && dialogResult.Value)
            {
                var hotkeyViewModel = Hotkeys.FirstOrDefault(hotk => hotk.Key == hotKeyToAdd.Key && hotk.ModifierKeys == hotKeyToAdd.ModifierKeys);
                if (hotkeyViewModel != null)
                {
                    Hotkeys.Remove(hotkeyViewModel);
                }

                var hotkey = _hotkeys.FirstOrDefault(hotk => hotk.Key == hotKeyToAdd.Key && hotk.ModifierKeys == hotKeyToAdd.ModifierKeys);
                if (hotkey != null)
                {
                    _hotkeys.Remove(hotkey);
                }

                Hotkeys.Add(hotKeyToAdd);
                _hotkeys.Add(hotKeyToAdd.Hotkey);
            }
        }
示例#3
0
        public bool DeleteHotkeyIfExisting(Hotkey hotkey)
        {
            Hotkey hotkeyBefore = FindHotkeyOrNull(hotkey);

            if (hotkeyBefore == null)
            {
                return(false);
            }

            Hotkeys.Remove(hotkeyBefore);

            return(true);
        }
示例#4
0
 public void RemoveHotkey(string name)
 {
     foreach (var entry in Hotkeys)
     {
         var atom = entry.Key;
         if (atom.Name == name)
         {
             entry.Value.Disable();
             Hotkeys.Remove(atom);
             break;
         }
     }
 }
示例#5
0
        public void UnregisterHotkey(HotkeySettings hotkeySetting, bool removeFromList = true)
        {
            if (hotkeySetting.HotkeyInfo.Status == HotkeyStatus.Registered)
            {
                hotkeyForm.UnregisterHotkey(hotkeySetting.HotkeyInfo);

                if (hotkeySetting.HotkeyInfo.Status == HotkeyStatus.NotConfigured)
                {
                    DebugHelper.WriteLine("Hotkey unregistered: " + hotkeySetting);
                }
                else if (hotkeySetting.HotkeyInfo.Status == HotkeyStatus.Failed)
                {
                    DebugHelper.WriteLine("Hotkey unregister failed: " + hotkeySetting);
                }
            }

            if (removeFromList)
            {
                Hotkeys.Remove(hotkeySetting);
            }
        }
示例#6
0
        private void DeleteHotkeyCommandExecute([CanBeNull] object obj)
        {
            if (SelectedHotkey == null)
            {
                return;
            }

            var hotkey = _hotkeys.FirstOrDefault(hotk => hotk.Key == SelectedHotkey.Key && hotk.ModifierKeys == SelectedHotkey.ModifierKeys);

            if (hotkey != null)
            {
                _hotkeys.Remove(hotkey);
            }

            var hotkeyViewModel = Hotkeys.FirstOrDefault(hotk => hotk.Key == SelectedHotkey.Key && hotk.ModifierKeys == SelectedHotkey.ModifierKeys);

            if (hotkeyViewModel != null)
            {
                Hotkeys.Remove(hotkeyViewModel);
            }
        }
示例#7
0
        private void EditHotkeyCommandExecute([NotNull] object obj)
        {
            Assert.ArgumentNotNull(obj, "obj");

            if (SelectedHotkey == null)
            {
                return;
            }

            var hotkeyViewModel = SelectedHotkey.Clone();

            var hotKeyEditDialog = new GlobalHotkeyEditDialog {
                DataContext = hotkeyViewModel, Owner = (Window)obj
            };
            var dialogResult = hotKeyEditDialog.ShowDialog();

            if (dialogResult.HasValue && dialogResult.Value)
            {
                var hotkeyViewModelToRemove = Hotkeys.FirstOrDefault(hotk => hotk.Key == hotkeyViewModel.Key && hotk.ModifierKeys == hotkeyViewModel.ModifierKeys);
                if (hotkeyViewModelToRemove != null)
                {
                    Hotkeys.Remove(hotkeyViewModelToRemove);
                }

                var hotkey = _hotkeys.FirstOrDefault(hotk => hotk.Key == hotkeyViewModel.Key && hotk.ModifierKeys == hotkeyViewModel.ModifierKeys);
                if (hotkey != null)
                {
                    _hotkeys.Remove(hotkey);
                }

                Hotkeys.Add(hotkeyViewModel);
                _hotkeys.Add(hotkeyViewModel.Hotkey);

                SelectedHotkey = hotkeyViewModel;
            }
        }
示例#8
0
 /// <summary>
 /// Removes a hotkey from the hotkeys list.
 /// </summary>
 /// <param name="hotkey"></param>
 public static void RemoveHotkey(GlobalHotkey hotkey)
 {
     Hotkeys.Remove(hotkey);
 }