public void AddOrUpdateSequencedKeyBinding(string information, FIPPanelButtons fipPanelButton, SortedList <int, KeyPressInfo> sortedList, bool whenTurnedOn = true) { //This must accept lists var found = false; RemoveFIPPanelSwitchFromList(2, fipPanelButton, whenTurnedOn); foreach (var keyBinding in _keyBindings) { if (keyBinding.FIPButton == fipPanelButton && keyBinding.WhenTurnedOn == whenTurnedOn) { if (sortedList.Count == 0) { keyBinding.OSKeyPress = null; } else { keyBinding.OSKeyPress = new OSKeyPress(information, sortedList); keyBinding.WhenTurnedOn = whenTurnedOn; } found = true; break; } } if (!found && sortedList.Count > 0) { var keyBinding = new KeyBindingFIP(); keyBinding.FIPButton = fipPanelButton; keyBinding.OSKeyPress = new OSKeyPress(information, sortedList); keyBinding.WhenTurnedOn = whenTurnedOn; _keyBindings.Add(keyBinding); } IsDirtyMethod(); }
public override void ImportSettings(List <string> settings) { //Clear current bindings ClearSettings(); if (settings == null || settings.Count == 0) { return; } foreach (var setting in settings) { if (!setting.StartsWith("#") && setting.Length > 2) { if (setting.StartsWith("FIPPanelButton{")) { var keyBinding = new KeyBindingFIP(); keyBinding.ImportSettings(setting); _keyBindings.Add(keyBinding); } else if (setting.StartsWith("FIPPanelDCSBIOSControl{")) { var dcsBIOSBindingFIP = new DCSBIOSBindingFIP(); dcsBIOSBindingFIP.ImportSettings(setting); _dcsBiosBindings.Add(dcsBIOSBindingFIP); } } } OnSettingsApplied(); }