/// <summary> /// Apply all settings to XML. /// </summary> public bool ApplyAllSettingsToXML() { var padControls = MainForm.Current.PadControls; for (int i = 0; i < padControls.Length; i++) { // Get pad control with settings. var padControl = MainForm.Current.PadControls[i]; var setting = padControl.GetSelectedSetting(); // Skip if not selected. if (setting == null) { continue; } var padSetting = padControl.CloneCurrentPadSetting(); // If setting doesn't exists then... if (!PadSettings.Items.Any(x => x.PadSettingChecksum == padSetting.PadSettingChecksum)) { // Add setting to configuration. PadSettings.Items.Add(padSetting); } // If pad setting checksum changed then... if (setting.PadSettingChecksum != padSetting.PadSettingChecksum) { // Assign updated checksum. setting.PadSettingChecksum = padSetting.PadSettingChecksum; var ud = SettingsManager.GetDevice(setting.InstanceGuid); setting.Completion = UserSetting.GetCompletionPoints(padSetting, ud); } } CleanupPadSettings(); return(true); }
public void SavePadSetting(UserSetting setting, PadSetting padSetting) { var ps = new PadSetting(); ps.Load(padSetting); // If setting doesn't exists then... if (!PadSettings.Items.Any(x => x.PadSettingChecksum == ps.PadSettingChecksum)) { // Add setting to configuration. lock (PadSettings.SyncRoot) PadSettings.Items.Add(ps); } // If pad setting checksum changed then... if (setting.PadSettingChecksum != ps.PadSettingChecksum) { // Assign updated checksum. setting.PadSettingChecksum = ps.PadSettingChecksum; var ud = GetDevice(setting.InstanceGuid); setting.Completion = UserSetting.GetCompletionPoints(ps, ud); } CleanupPadSettings(); }