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); }
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(); } }