public static bool UpdateHotkeys(int startId = 0)
        {
            if (hotkeys == null)
            {
                hotkeys = new List <HotkeyItem>();
            }
            hotkeys.Clear();
            HotkeyItem temp;

            if (!string.IsNullOrWhiteSpace(appSettings.PlayHotKey))
            {
                temp    = new HotkeyItem();
                temp.id = hotkeys.Count + startId;
                Enum.TryParse(appSettings.PlayHotKey, out temp.key);
                temp.modifier = KeyModifier.None;
                if (!string.IsNullOrWhiteSpace(appSettings.PlayModifier))
                {
                    Enum.TryParse(appSettings.PlayModifier, out temp.modifier);
                }
                temp.active     = false;
                temp.event_name = "PLAY";
                hotkeys.Add(temp);
            }
            if (!string.IsNullOrWhiteSpace(appSettings.RecordHotKey))
            {
                temp    = new HotkeyItem();
                temp.id = hotkeys.Count + startId;
                Enum.TryParse(appSettings.RecordHotKey, out temp.key);
                temp.modifier   = KeyModifier.None;
                temp.active     = false;
                temp.event_name = "RECORD";
                hotkeys.Add(temp);
            }
            return(hotkeys.Count > 0);
        }
Exemple #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Hotkey        hk  = new Hotkey(cmbDesktopNumber.Text);
            HotkeyItem    hki = new HotkeyItem(cmbHotkeyType.Text, hk);
            KeysConverter kc  = new KeysConverter();

            if (hk.Register((Keys)kc.ConvertFromString(cmbKey.Text), chkALT.Checked, chkCTRL.Checked, chkSHIFT.Checked, chkWIN.Checked) == true)
            {
                Program.hotkeys.Add(hki);

                switch (cmbHotkeyType.Text)
                {
                case "Navigate to Desktop":
                    hk.HotkeyActivated += VirtualDestopFunctions.DesktopGo;
                    break;

                case "Move Window to Desktop":
                    switch (cmbDesktopNumber.Text)
                    {
                    case "1":
                    case "2":
                    case "3":
                    case "4":
                    case "5":
                    case "6":
                    case "7":
                    case "8":
                    case "9":
                        hk.HotkeyActivated += VirtualDestopFunctions.DesktopMove;
                        break;

                    case "Next":
                        hk.HotkeyActivated += VirtualDestopFunctions.DesktopMoveNext;
                        break;

                    case "Previous":
                        hk.HotkeyActivated += VirtualDestopFunctions.DesktopMovePrevious;
                        break;

                    default:
                        break;
                    }
                    break;

                case "Move Window to Desktop & Follow":
                    switch (cmbDesktopNumber.Text)
                    {
                    case "1":
                    case "2":
                    case "3":
                    case "4":
                    case "5":
                    case "6":
                    case "7":
                    case "8":
                    case "9":
                        hk.HotkeyActivated += VirtualDestopFunctions.DesktopMoveFollow;
                        break;

                    case "Next":
                        hk.HotkeyActivated += VirtualDestopFunctions.DesktopMoveNextFollow;
                        break;

                    case "Previous":
                        hk.HotkeyActivated += VirtualDestopFunctions.DesktopMovePreviousFollow;
                        break;

                    default:
                        break;
                    }
                    break;

                case "Pin/Unpin Window":
                    hk.HotkeyActivated += VirtualDestopFunctions.PinWindow;
                    break;

                case "Pin/Unpin Application":
                    hk.HotkeyActivated += VirtualDestopFunctions.PinApp;
                    break;

                default:
                    break;
                }

                Program.MainForm.UpdateHotkeyTab();
                Program.MainForm.SaveSettings();
                //Program.MainForm.LoadSettings();
                this.Close();
            }
        }