public void setSettings(SettingsData settings) { if (mainClientForm.instance != null) mainClientForm.instance.cursorWait(); if (digitalOverrides == null) { digitalOverrides = new List<DigitalOverride>(); } foreach (DigitalOverride dov in digitalOverrides) { digitalOverridePanel.Controls.Remove(dov); dov.unRegsiterHotkey(); dov.Dispose(); } digitalOverrides.Clear(); List<int> digitalIDs = new List<int>(settings.logicalChannelManager.Digitals.Keys); digitalIDs.Sort(); int counter = 0; foreach (int id in digitalIDs) { LogicalChannel chan = settings.logicalChannelManager.Digitals[id]; DigitalOverride dov = new DigitalOverride(chan, id); dov.Location = new Point(digitalOverridePlaceholder.Location.X, digitalOverridePlaceholder.Location.Y + counter * (digitalOverridePlaceholder.Height - 4)); digitalOverrides.Add(dov); dov.registerHotkey(); dov.BackColor = Storage.settingsData.DigitalGridColors[counter % Storage.settingsData.DigitalGridColors.Count]; counter++; } digitalOverridePanel.Controls.AddRange(digitalOverrides.ToArray()); if (analogOverrides == null) { analogOverrides = new List<AnalogOverride>(); } foreach (AnalogOverride ao in analogOverrides) { analogOverridePanel.Controls.Remove(ao); ao.Dispose(); } analogOverrides.Clear(); List<int> analogIDs = new List<int>(settings.logicalChannelManager.Analogs.Keys); analogIDs.Sort(); counter = 0; foreach (int id in analogIDs) { LogicalChannel chan = settings.logicalChannelManager.Analogs[id]; AnalogOverride ao = new AnalogOverride(chan, id); ao.Location = new Point(analogOverridePlaceholder.Location.X, analogOverridePlaceholder.Location.Y + counter * analogOverridePlaceholder.Height); analogOverrides.Add(ao); counter++; } analogOverridePanel.Controls.AddRange(analogOverrides.ToArray()); if (mainClientForm.instance != null) mainClientForm.instance.cursorWaitRelease(); }
public void setSettings(SettingsData settings) { if (MainClientForm.instance != null) { MainClientForm.instance.cursorWait(); } try { if (digitalOverrides == null) { digitalOverrides = new List <DigitalOverride>(); } foreach (DigitalOverride dov in digitalOverrides) { digitalOverridePanel.Controls.Remove(dov); dov.unRegsiterHotkey(); dov.Dispose(); } digitalOverrides.Clear(); List <int> digitalIDs = new List <int>(settings.logicalChannelManager.Digitals.Keys); digitalIDs.Sort(); int counter = 0; foreach (int id in digitalIDs) { LogicalChannel chan = settings.logicalChannelManager.Digitals[id]; DigitalOverride dov = new DigitalOverride(chan, id); dov.Location = new Point(digitalOverridePlaceholder.Location.X, digitalOverridePlaceholder.Location.Y + counter * (digitalOverridePlaceholder.Height - 4)); digitalOverrides.Add(dov); dov.registerHotkey(); dov.BackColor = Storage.settingsData.DigitalGridColors[counter % Storage.settingsData.DigitalGridColors.Count]; counter++; } digitalOverridePanel.Controls.AddRange(digitalOverrides.ToArray()); if (analogOverrides == null) { analogOverrides = new List <AnalogOverride>(); } foreach (AnalogOverride ao in analogOverrides) { analogOverridePanel.Controls.Remove(ao); ao.Dispose(); } analogOverrides.Clear(); List <int> analogIDs = new List <int>(settings.logicalChannelManager.Analogs.Keys); analogIDs.Sort(); counter = 0; foreach (int id in analogIDs) { LogicalChannel chan = settings.logicalChannelManager.Analogs[id]; AnalogOverride ao = new AnalogOverride(chan, id); ao.Location = new Point(analogOverridePlaceholder.Location.X, analogOverridePlaceholder.Location.Y + counter * analogOverridePlaceholder.Height); analogOverrides.Add(ao); counter++; } analogOverridePanel.Controls.AddRange(analogOverrides.ToArray()); } finally { if (MainClientForm.instance != null) { MainClientForm.instance.cursorWaitRelease(); } } }